{
  "schema_version": 1,
  "kind": "googletest-cost-and-coverage-review",
  "date": "2026-11-02",
  "baseline_source_revision": "c7c125672972509310ee0db79242553f8e9c62c5",
  "candidate_source_snapshot": {
    "head_revision": "7438d9539d8c34c1d8273d80c534a078bf7bb82f",
    "includes_uncommitted_changes": false,
    "meaning": "Per-file candidate hashes identify the source snapshot reviewed for this report, including uncommitted integrated edits. No candidate runtime is asserted here."
  },
  "summary": {
    "reviewed_source_files": 115,
    "changed_reviewed_source_files": 33,
    "deleted_reviewed_source_files": 2,
    "files_by_category": {
      "core": 52,
      "physics": 50,
      "fixtures": 13
    },
    "case_actions_by_category": {
      "core": {
        "consolidate": 3,
        "consolidate-and-reduce-fixture": 4,
        "keep": 341,
        "reduce-fixture": 5,
        "remove-duplicate": 7,
        "remove-obsolete": 1,
        "replace-convergence-sweep": 1,
        "replace-defective-regression": 1
      },
      "physics": {
        "consolidate": 9,
        "keep": 217,
        "reduce": 35,
        "remove": 6,
        "replace": 2
      }
    },
    "fixture_review_summary": {
      "file_level_decisions": 13,
      "before_case_name_entries": 79,
      "after_case_name_entries": 78,
      "removed_case_records": 2,
      "renamed_case_records": 1,
      "interpretation": "Fixture reviewers record full before/after case lists and per-file decisions rather than assigning actions to individual source macro occurrences."
    },
    "changed_source_files_outside_review_inventory": [
      "gtests/gtest_main.cc"
    ]
  },
  "ci_cost_baseline": {
    "source_revision": "c7c125672972509310ee0db79242553f8e9c62c5",
    "run_id": 41448053317,
    "debug_job_id": 125405142113,
    "job_url": "https://github.com/luca-heltai/immersx/actions/runs/41448053317/job/125405142113",
    "debug_seconds": {
      "job_total": 3407.236,
      "configure_and_build": 1744.842,
      "ctest": 1514.93,
      "other": 147.464
    },
    "cache": {
      "calls": 227,
      "hits": 87,
      "misses": 140,
      "hit_percent": 38.33,
      "max_gb": 1,
      "used_percent": 99.34,
      "cleanups": 112
    },
    "compilation_units": {
      "total": 227,
      "google_tests": 115,
      "public_header_checks": 54
    },
    "compiler": {
      "name": "GNU",
      "version": "13.3.0",
      "debug_options": [
        "-DDEBUG",
        "-g",
        "-O0",
        "-ggdb"
      ]
    },
    "slow_ctest_families_seconds": {
      "FiberReinforcedElasticityFreq": {
        "serial": 271.08,
        "mpi": 277.92
      },
      "LiftedElasticity": {
        "serial": 194.48,
        "mpi": 182.21
      },
      "LiftedPoisson": {
        "serial": 106.0,
        "mpi": 73.53
      }
    },
    "slow_family_fraction": 0.7295518604820025,
    "test_sharding_observation": {
      "serial_group_seconds": 780.41676,
      "mpi_group_seconds": 708.77799,
      "other_group_seconds": 35.4329044
    },
    "caveats": [
      "Cache misses include legitimate header invalidations; cache saturation does not establish the cause of every miss.",
      "Sharding estimates use old durations, exclude transfer/startup/CPU differences, and require runtime dependency validation.",
      "All GoogleTest groups currently share the ImmersX.TestOutput resource lock."
    ],
    "other_cost_detail": {
      "source_job_id": 125405142113,
      "job_url": "https://github.com/luca-heltai/immersx/actions/runs/41448053317/job/125405142113",
      "method": "Intervals from original timestamped job log, not full step accounting. Container, ccache installation/restore/save and artifact upload intervals are disjoint; the residual includes checkout and remaining small transitions.",
      "other_seconds": 147.464,
      "intervals": [
        {
          "phase": "Container image pull and start",
          "seconds": 89.349,
          "start": "2026-11-02T16:34:34.6528416Z",
          "end": "2026-11-02T16:36:04.0018712Z"
        },
        {
          "phase": "Install ccache",
          "seconds": 7.578,
          "start": "2026-11-02T16:36:06.0204648Z",
          "end": "2026-11-02T16:36:13.5986154Z"
        },
        {
          "phase": "Restore cache",
          "seconds": 10.781,
          "start": "2026-11-02T16:36:13.5986866Z",
          "end": "2026-11-02T16:36:24.3795418Z"
        },
        {
          "phase": "Compress and save cache",
          "seconds": 30.29,
          "start": "2026-11-02T17:30:49.5441657Z",
          "end": "2026-11-02T17:31:19.8349418Z"
        },
        {
          "phase": "Upload CTest artifact",
          "seconds": 2.159,
          "start": "2026-11-02T17:30:46.9838095Z",
          "end": "2026-11-02T17:30:49.1421755Z"
        }
      ],
      "cache_uploaded_bytes": 986604894,
      "ctest_artifact_bytes": 5082203,
      "remaining_other_seconds": 7.306999999999988
    }
  },
  "coverage_changes": {
    "explicitly_removed_scalability_coverage": [
      {
        "file": "gtests/elasticity_tensor_product_coupling_point_cases_01.cc",
        "case": "ElasticityTensorProductCouplingValidation.ExactSolution",
        "removed": "Four-cycle 3D Lame accuracy/rate study reaching 142215 DoFs: fine-grid absolute L2/Linf/H1 bounds and its refinement-rate oracle.",
        "remaining": "Coarse point/tensor comparison retains the analytic wall trace and point/tensor norm parity.",
        "equivalent_coverage_claimed": false
      },
      {
        "file": "gtests/elasticity_04.cc",
        "cases": [
          "BOTH_PaperAxisSymmetricGlobalConvergence",
          "BOTH_PaperAxisSymmetricAdaptiveRefinement"
        ],
        "removed": "Large-mesh tails of the published global/adaptive studies, including final sixth-cycle adaptive values; first two published records remain.",
        "remaining": "Representative displacement/multiplier errors, retained monotonicity and independent analytical pressure/global multiplier checks.",
        "equivalent_coverage_claimed": false
      },
      {
        "file": "gtests/elasticity_04.cc",
        "case": "BOTH_PaperHigherOrderModes",
        "removed": "Twenty parameter-study rows; the representative multi-mode three-inclusion configuration remains.",
        "remaining": "Published norm, force-share and truncation assertions for the retained configuration.",
        "equivalent_coverage_claimed": false
      },
      {
        "file": "gtests/weak_term_support_oracles_01.cc",
        "case": "WeakTerm.IndependentSupportConvergesForPiecewiseFETrace",
        "removed": "Nine-level support-refinement sweep ending at 256 segments.",
        "remaining": "Four segments fitted to the slope jumps and the independent native MatrixCreator mass-energy oracle with an exact comparison.",
        "equivalent_coverage_claimed": false
      },
      {
        "file": "gtests/elastodynamics_adapter_mms_01.cc",
        "cases": [
          "StrongDirichletSpatialConvergence",
          "NeumannSpatialConvergence"
        ],
        "removed": "Larger third mesh and repeated single-grid solves from the original MMS studies.",
        "remaining": "First spatial-rate pair, absolute error bounds and nonzero boundary trace checks.",
        "equivalent_coverage_claimed": false
      }
    ],
    "other_removals": "Per-case records identify unconditional skips, output-only demonstrations, redundant constructors and checks consolidated into retained helpers. Their reasons and replacements are not inferred from timing alone.",
    "reduced_parameter_cross_products": [
      {
        "file": "gtests/fiber_reinforced_elasticity_freq_01.cc",
        "change": "All six dimension pairs retain the shared dynamic mass/phased-forcing oracle, while frequency changes are repeated on one codimension-two shared and one 2D independent representative. Static independent checks retain all six dimension pairs; shared static checks use line, sheet and volume representatives.",
        "not_claimed": "The complete old dimension-by-formulation-by-frequency cross product is not retained."
      },
      {
        "file": "gtests/lifted_poisson_parity_01.cc",
        "change": "Keep all six geometry/data/partition variants with legacy/modern Schur parity; retain Schur-versus-AL crossover for single and multiple modes.",
        "not_claimed": "Every geometry/data/partition variant is no longer repeated with the AL solver."
      },
      {
        "file": "gtests/large_networks_01.cc",
        "change": "Replace 1000-vertex/DoF demonstrations by small branching and exact junction-balance fixtures.",
        "not_claimed": "The retained tests do not establish large-network parsing capacity, scaling or large-system convergence."
      }
    ],
    "coverage_accounting": "Source macro occurrences include conditional branches and typed/parameterized tests. They are not counts of distinct compiled tests or execution records. BOTH_ identities are executed in both serial and MPI modes."
  },
  "reviews": {
    "core": {
      "artifact": "local-artifacts/audit/core-review.json",
      "sha256": "034d52ef4ca57c1051d9407c2ae0f63ae71afdb2f0ee019edfcbb403840cdca0",
      "file_count": 52,
      "metadata": {
        "base_revision": "c7c125672972509310ee0db79242553f8e9c62c5",
        "scope": "52 core/geometric GoogleTest translation units",
        "review_method": "Read test bodies, helper checks, native/oracle comparisons, fixture sizes and baseline CI case observations; distinguish backend/interface differences from repeated setup. Conditional unavailable-feature branches are retained.",
        "summary": {
          "files_reviewed": 52,
          "source_case_entries_reviewed": 363,
          "removed_or_consolidated_case_names": 13,
          "decisions": {
            "keep": 341,
            "consolidate": 3,
            "remove-duplicate": 7,
            "remove-obsolete": 1,
            "reduce-fixture": 5,
            "replace-defective-regression": 1,
            "replace-convergence-sweep": 1,
            "consolidate-and-reduce-fixture": 4
          }
        }
      }
    },
    "physics": {
      "artifact": "local-artifacts/audit/physics-review.json",
      "sha256": "c6cb40d038c112920410e251ad73cf0fe86bb6f74962a93b6a1309bee8781fa3",
      "file_count": 50,
      "metadata": {
        "source_revision": "c7c125672972509310ee0db79242553f8e9c62c5",
        "scope": "All 50 assigned physics GoogleTest source files; source macros include conditional optional-backend branches. CI timing observations cover selected quick tests, not the entire registry.",
        "case_count": 269,
        "action_counts": {
          "keep": 217,
          "remove": 6,
          "reduce": 35,
          "consolidate": 9,
          "replace": 2
        },
        "validation": {
          "status": "passed",
          "focused_runs": 166,
          "failures": 0,
          "variants": [
            "Debug",
            "Release"
          ],
          "ranks": [
            1,
            2
          ],
          "per_case_timeout_seconds": 120,
          "toolchain": "deal.II9.8/Trilinos/GNU11.4 on gpu02",
          "max_observed_case_wall_seconds": 7.150097068399191,
          "all_original_oracle_tolerances_retained": true,
          "notes": [
            "Scalability-only four-cycle3Dfine-grid rate/accuracy oracle explicitly removed by user policy; not represented as equivalent coverage.",
            "MetricFlowX optional package not available in this local worker build.",
            "Only changed test families profiled here; root runs the broader integrated suite."
          ],
          "assertions_note": "Final numerical validation precedes only elimination of an identical DEBUG/Release output-directory preprocessor branch; no numerical tokens changed after those passes."
        },
        "optimized_revision": "9e08d80b1768c971c2488a84da31dc788e4b73ab"
      }
    },
    "fixtures": {
      "artifact": "local-artifacts/audit/fixtures-review.json",
      "sha256": "22672097ee9f0e42f8d951d0514e3f08bedbfc07fdc0bc9a27db6d17bce0b086",
      "file_count": 13,
      "metadata": {
        "base_revision": "c7c125672972509310ee0db79242553f8e9c62c5",
        "reviewed_files": 13,
        "validation": {
          "status": "294/294 PASS, zero skipped, individual process timeout120s",
          "modes": {
            "DebugSerial": 78,
            "DebugMPI2": 69,
            "ReleaseSerial": 78,
            "ReleaseMPI2": 69
          },
          "maximum_case_seconds": 42.738,
          "maximum_case": "LiftedElasticity.BOTH_VariableRadiusModalConstraint",
          "details": "audit/fixture-final-validation.json",
          "local_dependency_limit": "deal.II9.8; FVMdisabled because downloaded v0.2library is incompatible with Ubuntu22/MPI5; root owns final full-suite CI9.7validation",
          "harmonic_ctest_groups": "4/4 Debug/Release Serial/MPI2 passed including zero-material and pure-viscous BCregression"
        },
        "added_fixtures": [
          {
            "file": "data/tests/simplex_unit_cube.msh.in",
            "description": "Unit cube split into six positively oriented tetrahedra with eight vertices; used only by unconstrained translation checks and uncoupled quadratic manufactured solutions.",
            "exclusions": "P1 all-Dirichlet manufactured solutions retain the 48-tetrahedron cube to keep interior unconstrained unknowns. Quadratic multiplier saddle cases retain the richer mesh to preserve coupling rank."
          },
          {
            "file": "data/tests/elasticity_modal_wide_cylinder.vtk.in",
            "description": "Axis-aligned two-point cylinder with frozen variable radii0.25 and0.125 for only the two nonstandard angular-mode parity tests."
          }
        ],
        "production_change": {
          "commit": "a1f035c",
          "scope": "harmonic_detail::add_material only",
          "behavior": "Skip exactly-zero final material coefficients; retain one zero diagonal shear action per real/imaginary field if every diagonal stiffness/inertia coefficient is zero, preserving native essential equations.",
          "controlled_comparison": "audit/harmonic-zero-comparison.json",
          "reviewer": "independent-physics-review independent code review passed"
        }
      }
    }
  },
  "files": [
    {
      "path": "gtests/app_executables_test.cc",
      "review_category": "physics",
      "baseline_source_sha256": "244789ebc7094a6c46a995e855456ff9f2f3a919eca6f54cbbabc7ca0f2008e5",
      "candidate_source_sha256": "577ef34be27f5864cb987ddfe1d0e9823f2bd24b543e5aa835c40cf00da0dd13",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
        "reviewed_macro_occurrences": 32,
        "cases": [
          {
            "suite": "AppExecutables",
            "name": "Elasticity",
            "macro": "TEST",
            "source_line": 194,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "Laplacian",
            "macro": "TEST",
            "source_line": 203,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "CoupledElasticity",
            "macro": "TEST",
            "source_line": 210,
            "action": "remove",
            "reason": "Unconditional GTEST_SKIP with obsolete claim that no binary is configured; executes no oracle.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "PseudoCoupling1D",
            "macro": "TEST",
            "source_line": 217,
            "action": "remove",
            "reason": "Unconditional GTEST_SKIP with obsolete claim that no binary is configured; executes no oracle.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ReducedPoisson",
            "macro": "TEST",
            "source_line": 224,
            "action": "reduce",
            "reason": "Exercise same native AL CLI using dedicated small test input instead of high co-refinement tutorial parameter study.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "NavierStokes",
            "macro": "TEST",
            "source_line": 232,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(records.size(), 6u);",
              "EXPECT_NEAR(records[step].first, 0.02 * step, 1.e-12);",
              "EXPECT_TRUE(has_velocity);",
              "EXPECT_TRUE(has_pressure);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "CoupledPoissonElasticity",
            "macro": "TEST",
            "source_line": 263,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(std::filesystem::exists(output_directory));",
              "EXPECT_TRUE(std::filesystem::exists(output_directory / \"solution.pvd\"));",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(has_poisson_output);",
              "EXPECT_TRUE(has_elasticity_output);",
              "EXPECT_TRUE(has_poisson_field);",
              "EXPECT_TRUE(has_elasticity_field);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElasticStatic",
            "macro": "TEST",
            "source_line": 313,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(std::filesystem::exists(output_directory));",
              "EXPECT_TRUE(std::filesystem::exists(output_directory / \"elastic_static.pvd\"));",
              "EXPECT_TRUE(has_material_id);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "TutorialPoisson",
            "macro": "TEST",
            "source_line": 339,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(std::filesystem::exists(output_directory / \"poisson_2d.pvd\"));",
              "EXPECT_TRUE(has_solution);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "CoupledPoissonConfigurableMultiplier",
            "macro": "TEST",
            "source_line": 362,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NE(diagnostics.find(\"multiplier_dofs = 4\"), std::string::npos)",
              "EXPECT_TRUE(",
              "ASSERT_TRUE(input.good());",
              "EXPECT_NE(contents.find(\"Name=\\\"lagrange_multiplier\\\"\"), std::string::npos);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElasticStaticConfigurableSpace",
            "macro": "TEST",
            "source_line": 387,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "CoupledPoisson",
            "macro": "TEST",
            "source_line": 393,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(std::filesystem::exists(output_directory));",
              "EXPECT_TRUE(std::filesystem::exists(output_directory / \"bulk_solution.pvd\"));",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(has_bulk);",
              "EXPECT_TRUE(has_embedded);",
              "EXPECT_TRUE(has_multiplier);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "TutorialElastodynamics",
            "macro": "TEST",
            "source_line": 437,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(",
              "EXPECT_TRUE(has_displacement);",
              "EXPECT_TRUE(has_velocity);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "TutorialFiberReinforcedElastodynamics",
            "macro": "TEST",
            "source_line": 466,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(std::filesystem::exists(matrix_directory / \"matrix.pvd\"));",
              "EXPECT_TRUE(std::filesystem::exists(fiber_directory / \"fiber.pvd\"));",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(has_matrix_state);",
              "EXPECT_TRUE(has_fiber_state);",
              "EXPECT_TRUE(has_multiplier);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "PoissonAdapterReferenceCells",
            "macro": "TEST",
            "source_line": 523,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElasticStaticSimplex",
            "macro": "TEST",
            "source_line": 533,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElasticStaticAdapterReferenceCells",
            "macro": "TEST",
            "source_line": 541,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElastodynamicsAdapterReferenceCells",
            "macro": "TEST",
            "source_line": 553,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElastodynamicsSimplex",
            "macro": "TEST",
            "source_line": 566,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElasticityFreqSimplex",
            "macro": "TEST",
            "source_line": 574,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElasticitySimplex",
            "macro": "TEST",
            "source_line": 582,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ElasticityExplicitSimplex",
            "macro": "TEST",
            "source_line": 590,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "LaplacianSimplex",
            "macro": "TEST",
            "source_line": 598,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "NavierStokesSimplex",
            "macro": "TEST",
            "source_line": 606,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "ReducedPoissonSimplex",
            "macro": "TEST",
            "source_line": 614,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "LiftedPoissonSimplex",
            "macro": "TEST",
            "source_line": 625,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "LiftedElasticitySimplex",
            "macro": "TEST",
            "source_line": 633,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "CoupledPoissonSimplex",
            "macro": "TEST",
            "source_line": 641,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "CoupledPoissonElasticitySimplex",
            "macro": "TEST",
            "source_line": 649,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "FiberReinforcedSimplex",
            "macro": "TEST",
            "source_line": 658,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "FiberHarmonicSimplex",
            "macro": "TEST",
            "source_line": 666,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          },
          {
            "suite": "AppExecutables",
            "name": "MetricFlowXSegments",
            "macro": "TEST",
            "source_line": 678,
            "action": "keep",
            "reason": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "CLI dispatch, generated parameter parsing and exported fields/reference cells; subprocess tests are distinct from in-process discretization oracles.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/application_roadmap_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "4c68b1597cb06219d8872738f94a5ce7208ca8686af90b75b35f6d961598d303",
      "candidate_source_sha256": "ef408bf4e0a670e197c128789f1dba04f3898c1313e4a0ab73200dfc661227ca",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
        "reviewed_macro_occurrences": 10,
        "cases": [
          {
            "suite": "ApplicationRoadmap",
            "name": "P1G0UsesFrozenForcingWithoutMultiplier",
            "macro": "TEST",
            "source_line": 153,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(adapter.saddle_points().size(), 0u);",
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_TRUE(output_has_field(parameters.output_directory, \"solution\"));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.P1G0UsesFrozenForcingWithoutMultiplier",
                "seconds": 0.047,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "P2G0UsesPrescribedConstraintAndReaction",
            "macro": "TEST",
            "source_line": 200,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(adapter.saddle_points().size(), 1u);",
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_TRUE(output_has_field(parameters.output_directory, \"multiplier\"));",
              "EXPECT_LT(residual.l2_norm(), 1.e-9);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.P2G0UsesPrescribedConstraintAndReaction",
                "seconds": 0.109,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "P1G1UsesFrozenForcingOnAnIndependentMesh",
            "macro": "TEST",
            "source_line": 264,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_GT(problem.solution().l2_norm(), 1.e-12);",
              "EXPECT_EQ(adapter.saddle_points().size(), 0u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.P1G1UsesFrozenForcingOnAnIndependentMesh",
                "seconds": 0.031,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "P2G1UsesPrescribedConstraintOnAnIndependentMesh",
            "macro": "TEST",
            "source_line": 323,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(adapter.saddle_points().size(), 1u);",
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_TRUE(output_has_field(parameters.output_directory, \"multiplier\"));",
              "EXPECT_LT(residual.l2_norm(), 1.e-9);",
              "EXPECT_EQ(adapter.saddle_points().size(), 0u);",
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_GT(problem.solution().l2_norm(), 1.e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.P2G1UsesPrescribedConstraintOnAnIndependentMesh",
                "seconds": 0.319,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "BOTH_P1G2UsesFrozenEmbeddedSourceForBulkForcing",
            "macro": "TEST",
            "source_line": 462,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.BOTH_P1G2UsesFrozenEmbeddedSourceForBulkForcing",
                "seconds": 0.072,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ApplicationRoadmap"
              },
              {
                "test": "ApplicationRoadmap.BOTH_P1G2UsesFrozenEmbeddedSourceForBulkForcing",
                "seconds": 0.032,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "P1G3UsesOneWayLiftedTubeLoading",
            "macro": "TEST",
            "source_line": 467,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(std::isfinite(problem.solution().l2_norm()));",
              "EXPECT_GT(problem.solution().l2_norm(), 1.e-12);",
              "EXPECT_TRUE(output_has_field(parameters.output_directory, \"displacement\"));",
              "EXPECT_TRUE(adapter.saddle_points().empty());"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.P1G3UsesOneWayLiftedTubeLoading",
                "seconds": 0.078,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "P2G3UsesPrescribedLiftedLineMotion",
            "macro": "TEST",
            "source_line": 538,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(adapter.saddle_points().size(), 1u);",
              "EXPECT_TRUE(std::isfinite(problem.solution().l2_norm()));",
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_TRUE(output_has_field(parameters.output_directory, \"displacement\"));",
              "EXPECT_TRUE(output_has_field(parameters.output_directory, \"multiplier\"));",
              "EXPECT_LT(residual.l2_norm(), 1.e-9);",
              "EXPECT_EQ(adapter.saddle_points().size(), 1u);",
              "EXPECT_EQ(adapter.saddle_points().front().participants.size(), 2u);",
              "EXPECT_TRUE(matrix_problem.state_is_finite());",
              "EXPECT_TRUE(fiber_problem.state_is_finite());",
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_GT(adapter.field(state, coupling.fields().multiplier).l2_norm(),",
              "EXPECT_GT(matrix_problem.displacement().l2_norm(), 1.e-12);",
              "EXPECT_GT(fiber_problem.displacement().l2_norm(), 1.e-12);",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(output_has_field(interaction_directory, \"multiplier_0\"));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.P2G3UsesPrescribedLiftedLineMotion",
                "seconds": 0.746,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "BOTH_P3G2UsesMixedDimensionalFiberElastodynamics",
            "macro": "TEST",
            "source_line": 772,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.BOTH_P3G2UsesMixedDimensionalFiberElastodynamics",
                "seconds": 19.743,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ApplicationRoadmap"
              },
              {
                "test": "ApplicationRoadmap.BOTH_P3G2UsesMixedDimensionalFiberElastodynamics",
                "seconds": 14.866,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "P3G0UsesTwoLiveProblemsAndParticipantReactions",
            "macro": "TEST",
            "source_line": 778,
            "action": "keep",
            "reason": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(adapter.saddle_points().size(), 1u);",
              "EXPECT_EQ(adapter.saddle_points().front().participants.size(), 2u);",
              "EXPECT_TRUE(first.solution_is_finite());",
              "EXPECT_TRUE(second.solution_is_finite());",
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_TRUE(",
              "ASSERT_EQ(adapter.saddle_points().size(), 1u);",
              "EXPECT_EQ(adapter.saddle_points().front().participants.size(), 2u);",
              "EXPECT_TRUE(std::isfinite(first.solution().l2_norm()));",
              "EXPECT_TRUE(std::isfinite(second.solution().l2_norm()));",
              "EXPECT_GT(first.solution().l2_norm(), 1.e-12);",
              "EXPECT_GT(second.solution().l2_norm(), 1.e-12);",
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_GT(adapter.field(state, coupling.fields().multiplier).l2_norm(),",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(",
              "EXPECT_LT(residual.l2_norm(), 1.e-9);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.P3G0UsesTwoLiveProblemsAndParticipantReactions",
                "seconds": 0.189,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              }
            ]
          },
          {
            "suite": "ApplicationRoadmap",
            "name": "BOTH_P3G1UsesNonmatchingTiedElasticity",
            "macro": "TEST",
            "source_line": 942,
            "action": "reduce",
            "reason": "Reduce Q2 primal bulk refinement2 to1 while retaining coarser Q1 multipliers, independent mesh shift, nonzero reactions, true residual and output checks. Validate rank/stability before integration.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Semantic P1/P2/P3 and G0/G1/G2/G3 interaction contracts: frozen forcing, prescribed/live fields, participant reactions, residuals and output names.",
            "ci_debug_observations": [
              {
                "test": "ApplicationRoadmap.BOTH_P3G1UsesNonmatchingTiedElasticity",
                "seconds": 24.632,
                "rank": null,
                "group": "ImmersX_integration_Serial_ApplicationRoadmap"
              },
              {
                "test": "ApplicationRoadmap.BOTH_P3G1UsesNonmatchingTiedElasticity",
                "seconds": 21.498,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ApplicationRoadmap"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/boundary_conditions_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "b6567c1197d7e9a13ba42388d21be730988c76be6af0a34e55e4f87437186dd2",
      "candidate_source_sha256": "b6567c1197d7e9a13ba42388d21be730988c76be6af0a34e55e4f87437186dd2",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
        "source_lines_before": 401,
        "source_lines_after": 401,
        "cases_before": [
          {
            "case": "BoundaryConditions.AggregatesRulesAndUpdatesStableConstraints",
            "source_line": 98,
            "action": "keep",
            "reason": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(aggregated.n_dirichlet_rules(), 2u);",
              "EXPECT_GT(space.constraints().n_constraints(), 0u);",
              "EXPECT_EQ(moved.n_dirichlet_rules(), 2u);",
              "EXPECT_EQ(&time_space.constraints(), constraints_address);",
              "EXPECT_NE(minimum_at_one, minimum_at_two);",
              "EXPECT_DOUBLE_EQ(minimum_at_one, 1.);",
              "EXPECT_DOUBLE_EQ(minimum_at_two, 2.);",
              "EXPECT_EQ(time_dependent.value_revision(), 2u);",
              "EXPECT_EQ(time_dependent.structure_revision(), 1u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.023,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditions.OwnedFunctionSurvivesSourceScope",
            "source_line": 148,
            "action": "keep",
            "reason": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_GT(space.constraints().n_constraints(), 0u);",
              "EXPECT_DOUBLE_EQ(space.constraints().get_inhomogeneity(line.index), 3.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditions.OwnedParsedFunctionsSurviveBoundaryCopies",
            "source_line": 170,
            "action": "keep",
            "reason": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(space.constraints().n_constraints(), 0u);",
              "EXPECT_EQ(conditions.n_dirichlet_rules(), 2u);",
              "EXPECT_EQ(copied_conditions.n_dirichlet_rules(), 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditions.VectorMaskAndNormalFlux",
            "source_line": 201,
            "action": "keep",
            "reason": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(conditions.n_dirichlet_rules(), 1u);",
              "EXPECT_EQ(conditions.n_normal_flux_rules(), 1u);",
              "EXPECT_GT(space.constraints().n_constraints(), 0u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditions.FieldConstraintsAreIndependentAndTimeAware",
            "source_line": 222,
            "action": "keep",
            "reason": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NE(displacement_address, &space.constraints());",
              "EXPECT_NE(velocity_address, &space.constraints());",
              "EXPECT_NE(displacement_address, velocity_address);",
              "EXPECT_DOUBLE_EQ(minimum_inhomogeneity(displacement.constraints()), 1.);",
              "EXPECT_DOUBLE_EQ(minimum_inhomogeneity(velocity.constraints()), 2.);",
              "EXPECT_EQ(&displacement.constraints(), displacement_address);",
              "EXPECT_EQ(&velocity.constraints(), velocity_address);",
              "EXPECT_DOUBLE_EQ(minimum_inhomogeneity(displacement.constraints()), 3.);",
              "EXPECT_DOUBLE_EQ(minimum_inhomogeneity(velocity.constraints()), 4.);",
              "EXPECT_EQ(space.constraints().n_constraints(), 0u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditions.FieldConstraintsIncludeHangingNodes",
            "source_line": 268,
            "action": "keep",
            "reason": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(with_hanging.constraints().n_constraints(), 0u);",
              "EXPECT_EQ(without.constraints().n_constraints(), 0u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditions.FieldMaskSubmaskAndAutomaticNormalFlux",
            "source_line": 293,
            "action": "keep",
            "reason": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_GT(vector.constraints().n_constraints(), 0u);",
              "EXPECT_TRUE(vector_dofs.is_element(line.index));",
              "ASSERT_GT(subvector.constraints().n_constraints(), 0u);",
              "EXPECT_TRUE(subvector_dofs.is_element(line.index));",
              "EXPECT_THROW(subvector_conditions.add_dirichlet(",
              "ASSERT_GT(flux.constraints().n_constraints(), 0u);",
              "ASSERT_EQ(flux.constraints().n_constraints(),",
              "EXPECT_EQ(automatic_line.index, explicit_line.index);",
              "EXPECT_DOUBLE_EQ("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.008,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditions.WeakAffineContributionFollowsEvaluationTime",
            "source_line": 362,
            "action": "keep",
            "reason": "Boundary-rule aggregation, function lifetime, independent time-aware field constraints, hanging nodes, masks and normal flux.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(residual_at_zero.l2_norm(), 1.e-12);",
              "EXPECT_GT(residual_at_one.l2_norm(), 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.005,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/constraint_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "35730b606cb1d5136db885e82a1bdf2fa3b0518b023e7612b9615a465808d84e",
      "candidate_source_sha256": "35730b606cb1d5136db885e82a1bdf2fa3b0518b023e7612b9615a465808d84e",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
        "source_lines_before": 721,
        "source_lines_after": 721,
        "cases_before": [
          {
            "case": "Constraint.IndependentScalarMultiplierSpace",
            "source_line": 196,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_constraint<false, double>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.024,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.IndependentVectorMultiplierSpace",
            "source_line": 201,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_constraint<false, Tensor<1, 2>>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.025,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.FiniteElementSpaceMultiplierRegistration",
            "source_line": 206,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(fields.multiplier.is_registered());",
              "EXPECT_EQ(&fields.multiplier.dof_handler(), &multiplier_space.dof_handler());",
              "EXPECT_NE(&fields.multiplier.dof_handler(), &source_dof_handler);",
              "EXPECT_EQ(layout.field(fields.multiplier.id()).locally_owned.n_elements(),",
              "EXPECT_EQ(multiplier_space.dof_handler().n_dofs(),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.009,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.FrozenScalarRightHandSide",
            "source_line": 248,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_constraint<true, double>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.011,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.SingleTerm",
            "source_line": 254,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(fields.multiplier.is_registered());",
              "ASSERT_EQ(model.saddle_points().size(), 1u);",
              "ASSERT_EQ(model.saddle_points().front().participants.size(), 1u);",
              "ASSERT_TRUE(pairing.has_value());",
              "EXPECT_LT(residual.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.006,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.NonlinearSquareLaw",
            "source_line": 313,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(constraint_residual.l2_norm(), 1.e-12);",
              "EXPECT_LT(participant_residual.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.012,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.CombinesSignedSums",
            "source_line": 409,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(coefficients.size(), 4u);",
              "EXPECT_DOUBLE_EQ(coefficients[0], 1.);",
              "EXPECT_DOUBLE_EQ(coefficients[1], 1.);",
              "EXPECT_DOUBLE_EQ(coefficients[2], -1.);",
              "EXPECT_DOUBLE_EQ(coefficients[3], -1.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.NonmatchingGeometryBuildsOnDemandForRepeatedActions",
            "source_line": 441,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);",
              "EXPECT_EQ(detail::weak_term_nonmatching_preparations.load(), preparations);",
              "EXPECT_LT(repeated_residual.l2_norm(), 1.e-12);",
              "ASSERT_TRUE(pairing.has_value());",
              "ASSERT_TRUE(reaction.has_value());",
              "EXPECT_LT(reaction_residual.l2_norm(), 1.e-12);",
              "EXPECT_EQ(detail::weak_term_nonmatching_preparations.load(),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.089,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.MPI_NonmatchingDistributedReaction",
            "source_line": 548,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "ASSERT_TRUE(pairing.has_value());",
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "EXPECT_LT(reaction.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Constraint",
                "rank": 0,
                "seconds": 0.31,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.MPI_MixedDimensionalReverseNonmatching",
            "source_line": 633,
            "action": "keep",
            "reason": "Scalar/vector independent multiplier spaces, frozen forcing, nonlinear reaction, signed sums, lazy nonmatching preparation and distributed reverse actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "ASSERT_TRUE(pairing.has_value());",
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "EXPECT_LT(reaction.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Constraint",
                "rank": 0,
                "seconds": 0.048,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/contributor_core_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "507e6ceecea0253cddd8841ee987f19aea492a9bb92a6e085b37eac201cde3f6",
      "candidate_source_sha256": "507e6ceecea0253cddd8841ee987f19aea492a9bb92a6e085b37eac201cde3f6",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
        "source_lines_before": 620,
        "source_lines_after": 620,
        "cases_before": [
          {
            "case": "ContributorCore.PackagedResidualAndSeparateOperators",
            "source_line": 41,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(residual[0], 8.);",
              "EXPECT_DOUBLE_EQ(residual[1], 18.);",
              "EXPECT_DOUBLE_EQ(action[0], 2.);",
              "EXPECT_DOUBLE_EQ(action[1], 6.);",
              "ASSERT_TRUE(materialized.has_value());",
              "EXPECT_DOUBLE_EQ(materialized_action[0], action[0]);",
              "EXPECT_DOUBLE_EQ(materialized_action[1], action[1]);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.MatrixOperatorObservesAndMaterializesLazily",
            "source_line": 102,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(action, direct);",
              "EXPECT_EQ(materialized_action, direct);",
              "EXPECT_EQ(materialized_action, direct);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.MatrixOperatorDetectsDestroyedSource",
            "source_line": 138,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DEATH("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.566,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.LocalPreconditionerUsesItsTransposeAction",
            "source_line": 159,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(action[0], 10.);",
              "EXPECT_DOUBLE_EQ(transpose_action[0], 15.);",
              "EXPECT_NE(action[0], transpose_action[0]);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.MPI_LocalPreconditionerUsesCanonicalFieldSpace",
            "source_line": 183,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(n_ranks, 2u);",
              "EXPECT_EQ(source.locally_owned_elements(), owned);",
              "EXPECT_EQ(destination.locally_owned_elements(), owned);",
              "EXPECT_GT(destination.l2_norm(), 0.);",
              "EXPECT_LT(expected_destination.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.029,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.ConstrainedOperatorHasMatchingTranspose",
            "source_line": 244,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(forward[0], 19.);",
              "EXPECT_DOUBLE_EQ(forward[1], 0.);",
              "EXPECT_DOUBLE_EQ(transpose[0], 11.);",
              "EXPECT_DOUBLE_EQ(transpose[1], 22.);",
              "EXPECT_DOUBLE_EQ(forward * dual, source * transpose);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.MatrixOperatorPreservesCompositions",
            "source_line": 275,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(materialized.has_value());",
              "EXPECT_DOUBLE_EQ(materialized_action[0], action[0]);",
              "EXPECT_DOUBLE_EQ(materialized_action[1], action[1]);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.TermsAreScopedByContributorPrefix",
            "source_line": 321,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(a_residual[0], 1.);",
              "EXPECT_DOUBLE_EQ(b_residual[0], 0.);",
              "EXPECT_DOUBLE_EQ(a_residual[0], 0.);",
              "EXPECT_DOUBLE_EQ(b_residual[0], 2.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.RegistersSemanticSaddlePointMetadata",
            "source_line": 373,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(model.saddle_points().size(), 1u);",
              "EXPECT_EQ(model.saddle_points().front().multiplier, pressure);",
              "ASSERT_EQ(model.saddle_points().front().participants.size(), 1u);",
              "EXPECT_EQ(model.saddle_points().front().participants.front(), velocity);",
              "ASSERT_TRUE(",
              "ASSERT_TRUE(registered_metric.has_value());",
              "EXPECT_EQ(registered_metric->source_matrix(), &metric);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.AbsentRectangularBlocksSkipExpensiveProducts",
            "source_line": 408,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(zero.is_null_operator);",
              "EXPECT_TRUE(model.derivative_operator(row, column, context).is_null_operator);",
              "EXPECT_TRUE(ImmersX::payload_free(zero).is_null_operator);",
              "EXPECT_EQ(applications, 0u);",
              "EXPECT_EQ(destination.l2_norm(), 0.);",
              "EXPECT_EQ(transpose_result.size(), 3u);",
              "EXPECT_EQ(applications, 0u);",
              "EXPECT_EQ(transpose_result.l2_norm(), 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.SumReplaysOperandsForGraphAndValues",
            "source_line": 452,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(first_calls, 2u);",
              "EXPECT_EQ(second_calls, 2u);",
              "EXPECT_DOUBLE_EQ(result[0], 87.);",
              "EXPECT_DOUBLE_EQ(result[1], -38.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.BOTH_DistributedMatrixCloneOwnsRectangularSnapshot",
            "source_line": 492,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(snapshot->m(), n_rows);",
              "EXPECT_EQ(snapshot->n(), n_rows + 1);",
              "EXPECT_EQ(snapshot->locally_owned_range_indices(), rows);",
              "EXPECT_EQ(snapshot->locally_owned_domain_indices(), columns);",
              "EXPECT_DOUBLE_EQ(result[i], (2. + i) * (i + 1.) - .5 * (i + 2.));"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.008,
                "status": "passed"
              },
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.BOTH_DistributedSumReplaysOperandsForGraphAndValues",
            "source_line": 542,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(first_calls, 2u);",
              "EXPECT_EQ(second_calls, 2u);",
              "EXPECT_DOUBLE_EQ(result[i],"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.003,
                "status": "passed"
              },
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorCore.ReplayingScaledSharedMatrixLeavesSourceUnchanged",
            "source_line": 596,
            "action": "keep",
            "reason": "Packaged residuals, matrix lifetime and lazy materialization, canonical distributed maps, transpose semantics, scoped fields and shared-source replay.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(sum->el(0, 0), 12.);",
              "EXPECT_DOUBLE_EQ(sum->el(1, 1), 30.);",
              "EXPECT_DOUBLE_EQ(matrix->el(0, 0), 2.);",
              "EXPECT_DOUBLE_EQ(matrix->el(1, 1), 5.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/contributor_physics_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "3e6252e512248d3f5f3080331e56c1b740072e54b4d286398f65103f4ceb7544",
      "candidate_source_sha256": "3e6252e512248d3f5f3080331e56c1b740072e54b4d286398f65103f4ceb7544",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Composition of supported elastodynamics/Stokes into IDA and parameter-to-IDA translation; unavailable-backend branches are intentional conditional alternatives.",
        "source_lines_before": 190,
        "source_lines_after": 190,
        "cases_before": [
          {
            "case": "ContributorPhysics.ElastodynamicsCanPopulateIDAAdapter",
            "source_line": 21,
            "action": "keep",
            "reason": "Composition of supported elastodynamics/Stokes into IDA and parameter-to-IDA translation; unavailable-backend branches are intentional conditional alternatives.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(fields.fields().displacement.is_registered());",
              "EXPECT_TRUE(fields.fields().velocity.is_registered());",
              "EXPECT_TRUE(std::isfinite(residual.l2_norm()));",
              "EXPECT_TRUE(std::isfinite(action.l2_norm()));"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ContributorPhysics",
                "rank": null,
                "seconds": 0.091,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorPhysics.StokesCanPopulateIDAAdapter",
            "source_line": 73,
            "action": "keep",
            "reason": "Composition of supported elastodynamics/Stokes into IDA and parameter-to-IDA translation; unavailable-backend branches are intentional conditional alternatives.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(fields.fields().velocity.is_registered());",
              "EXPECT_TRUE(fields.fields().pressure.is_registered());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ContributorPhysics",
                "rank": null,
                "seconds": 0.042,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorPhysics.TimeIntervalParametersDerivesIDAConfiguration",
            "source_line": 111,
            "action": "keep",
            "reason": "Composition of supported elastodynamics/Stokes into IDA and parameter-to-IDA translation; unavailable-backend branches are intentional conditional alternatives.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(data.initial_time, 0.25);",
              "EXPECT_DOUBLE_EQ(data.final_time, 2.5);",
              "EXPECT_DOUBLE_EQ(data.output_period, 0.125);",
              "EXPECT_DOUBLE_EQ(data.initial_step_size, 0.01);",
              "EXPECT_DOUBLE_EQ(data.minimum_step_size, 1.e-8);",
              "EXPECT_EQ(data.maximum_order, 2u);",
              "EXPECT_EQ(data.maximum_non_linear_iterations, 17u);",
              "EXPECT_DOUBLE_EQ(data.absolute_tolerance, 1.e-7);",
              "EXPECT_DOUBLE_EQ(data.relative_tolerance, 2.e-6);",
              "EXPECT_FALSE(data.ignore_algebraic_terms_for_errors);",
              "EXPECT_EQ(data.ic_type, Adapter::AdditionalData::use_y_dot);",
              "EXPECT_EQ(data.reset_type, Adapter::AdditionalData::none);",
              "EXPECT_EQ(data.maximum_non_linear_iterations_ic, 13u);",
              "EXPECT_DOUBLE_EQ(data.ls_norm_factor, 3.5);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ContributorPhysics",
                "rank": null,
                "seconds": 0.015,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorPhysics.ElastodynamicsCanPopulateIDAAdapter",
            "source_line": 180,
            "action": "keep",
            "reason": "Composition of supported elastodynamics/Stokes into IDA and parameter-to-IDA translation; unavailable-backend branches are intentional conditional alternatives.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was configured without SUNDIALS support.\";"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ContributorPhysics",
                "rank": null,
                "seconds": 0.091,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ContributorPhysics.StokesCanPopulateIDAAdapter",
            "source_line": 185,
            "action": "keep",
            "reason": "Composition of supported elastodynamics/Stokes into IDA and parameter-to-IDA translation; unavailable-backend branches are intentional conditional alternatives.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was configured without SUNDIALS support.\";"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ContributorPhysics",
                "rank": null,
                "seconds": 0.042,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/coupled_elasticity_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "0b0588f45acc36a9466e8d6672532607f9b8c67893c412b2e5e2a9addc0cc327",
      "candidate_source_sha256": "0b0588f45acc36a9466e8d6672532607f9b8c67893c412b2e5e2a9addc0cc327",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Vessel-id validation plus native/coupled problem parity without optional 1D model.",
        "reviewed_macro_occurrences": 5,
        "cases": [
          {
            "suite": "Inclusion3",
            "name": "CheckVesselsConsecutiveIds",
            "macro": "TEST",
            "source_line": 31,
            "action": "keep",
            "reason": "Vessel-id validation plus native/coupled problem parity without optional 1D model.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(n_vessels_of_inclusions({0, 0, 1, 1, 2}), 3u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Inclusion3.CheckVesselsConsecutiveIds",
                "seconds": 0.01,
                "rank": null,
                "group": "ImmersX_unit_Serial"
              }
            ]
          },
          {
            "suite": "Inclusion3",
            "name": "CheckVesselsUnorderedIds",
            "macro": "TEST",
            "source_line": 36,
            "action": "keep",
            "reason": "Vessel-id validation plus native/coupled problem parity without optional 1D model.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(n_vessels_of_inclusions({2, 0, 1, 0}), 3u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Inclusion3.CheckVesselsUnorderedIds",
                "seconds": 0.002,
                "rank": null,
                "group": "ImmersX_unit_Serial"
              }
            ]
          },
          {
            "suite": "Inclusion3",
            "name": "CheckVesselsRejectsGap",
            "macro": "TEST",
            "source_line": 41,
            "action": "keep",
            "reason": "Vessel-id validation plus native/coupled problem parity without optional 1D model.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_ANY_THROW(n_vessels_of_inclusions({0, 2}));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Inclusion3.CheckVesselsRejectsGap",
                "seconds": 0.002,
                "rank": null,
                "group": "ImmersX_unit_Serial"
              }
            ]
          },
          {
            "suite": "Inclusion3",
            "name": "CheckVesselsRejectsMissingZero",
            "macro": "TEST",
            "source_line": 46,
            "action": "keep",
            "reason": "Vessel-id validation plus native/coupled problem parity without optional 1D model.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_ANY_THROW(n_vessels_of_inclusions({1, 2}));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Inclusion3.CheckVesselsRejectsMissingZero",
                "seconds": 0.002,
                "rank": null,
                "group": "ImmersX_unit_Serial"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_SameSolutionAsElasticity",
            "macro": "TEST",
            "source_line": 55,
            "action": "keep",
            "reason": "Vessel-id validation plus native/coupled problem parity without optional 1D model.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(std::filesystem::is_regular_file(parameter_file));",
              "ASSERT_GT(elasticity[i], 0.0) << names[i];",
              "EXPECT_NEAR(coupled[i], elasticity[i], 1e-8 * elasticity[i]) << names[i];"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_SameSolutionAsElasticity",
                "seconds": 1.438,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_SameSolutionAsElasticity",
                "seconds": 1.416,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/coupled_elasticity_02.cc",
      "review_category": "physics",
      "baseline_source_sha256": "8f3dbffd041a72f3d1bea5bd213bcd2afc4990541595d270ae2afb52981e020d",
      "candidate_source_sha256": "08ebcce8a5ddf0d30ee65dfdd60448ff0b07262b97c8241a33a913320bc164e1",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Point versus tensor-product cylinder coupling: pressure and three displacement norms with nonzero response.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PointAndTensorProductAgree",
            "macro": "TEST",
            "source_line": 269,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(problem.par.coupling_type,",
              "EXPECT_EQ(problem.n_vessels(), 1u);",
              "ASSERT_EQ(pressure.size(), 1u);",
              "ASSERT_EQ(point.size(), names.size());",
              "ASSERT_EQ(tensor.size(), names.size());",
              "ASSERT_NE(point[i], 0.0) << names[i];",
              "EXPECT_NEAR(tensor[i], point[i], 0.05 * std::abs(point[i])) << names[i];"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PointAndTensorProductAgree",
                "seconds": 6.318,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PointAndTensorProductAgree",
                "seconds": 5.061,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/coupled_elasticity_03.cc",
      "review_category": "physics",
      "baseline_source_sha256": "e053991b28fea46b0bbcc5f9c4e955d0609e68e98239c7ae8ab83fea36ce9c0a",
      "candidate_source_sha256": "74482942fd879aa672682660d52d5b4c35709bbda563a7b00efddf9c17c19e00",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Vessel radius updates, radial mode indexing, pressure averaging/interior stress removal and inclusion-to-vessel interpolation; cases cover different public input layouts.",
        "reviewed_macro_occurrences": 26,
        "cases": [
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataPerVesselPoint",
            "macro": "TEST",
            "source_line": 322,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.update_vessel_radius_data({0.3, 0.7}));",
              "EXPECT_DOUBLE_EQ(problem.inclusions.inclusions_data[i][3],"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataPerVesselPoint",
                "seconds": 0.984,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataPerVesselPoint",
                "seconds": 0.779,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataPerInclusionPoint",
            "macro": "TEST",
            "source_line": 335,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.update_vessel_radius_data(new_data));",
              "EXPECT_DOUBLE_EQ(problem.inclusions.inclusions_data[i][3], new_data[i])"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataPerInclusionPoint",
                "seconds": 0.987,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataPerInclusionPoint",
                "seconds": 0.782,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataWritesRadialModePoint",
            "macro": "TEST",
            "source_line": 352,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.update_vessel_radius_data({0.3, 0.7}));",
              "ASSERT_GT(data.size(), 7u) << \"inclusion \" << i;",
              "EXPECT_DOUBLE_EQ(data[k], (k == 3 || k == 7) ? expected : 0.)"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataWritesRadialModePoint",
                "seconds": 0.993,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataWritesRadialModePoint",
                "seconds": 0.784,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataEmptyPoint",
            "macro": "TEST",
            "source_line": 370,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.update_vessel_radius_data({}));",
              "EXPECT_EQ(problem.inclusions.inclusions_data, before);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataEmptyPoint",
                "seconds": 0.992,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataEmptyPoint",
                "seconds": 0.784,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataWrongSizePoint",
            "macro": "TEST",
            "source_line": 382,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_ANY_THROW(problem.update_vessel_radius_data({0.1, 0.2, 0.3}));",
              "EXPECT_EQ(problem.inclusions.inclusions_data, before);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataWrongSizePoint",
                "seconds": 0.998,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataWrongSizePoint",
                "seconds": 0.797,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataChangesPressurePoint",
            "macro": "TEST",
            "source_line": 396,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.update_vessel_radius_data({0.2, 0.2}));",
              "ASSERT_EQ(before.size(), 2u);",
              "ASSERT_EQ(after.size(), 2u);",
              "ASSERT_NE(before[v], 0.0) << \"vessel \" << v;",
              "EXPECT_NEAR(after[v], 2 * before[v], 1e-6 * std::abs(before[v]))",
              "ASSERT_NE(block_of[k], numbers::invalid_unsigned_int)",
              "ASSERT_EQ(computed_by_inclusion.size(), by_inclusion.size());",
              "ASSERT_EQ(computed_by_vessel.size(), force.size());",
              "EXPECT_NEAR(computed_by_inclusion[k],",
              "EXPECT_NEAR(computed_by_vessel[v],"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataChangesPressurePoint",
                "seconds": 3.713,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataChangesPressurePoint",
                "seconds": 3.434,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureFromMultiplierPoint",
            "macro": "TEST",
            "source_line": 525,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(problem.inclusions.n_dofs(), 50u * 2u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureFromMultiplierPoint",
                "seconds": 1.002,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureFromMultiplierPoint",
                "seconds": 0.796,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureIgnoresTangentialCoefficientsPoint",
            "macro": "TEST",
            "source_line": 537,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(problem.inclusions.n_dofs(), 50u * 4u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureIgnoresTangentialCoefficientsPoint",
                "seconds": 1.017,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureIgnoresTangentialCoefficientsPoint",
                "seconds": 0.805,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureWithoutNormalCoefficientsIsZeroPoint",
            "macro": "TEST",
            "source_line": 552,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(p, 0.);",
              "EXPECT_EQ(p, 0.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureWithoutNormalCoefficientsIsZeroPoint",
                "seconds": 1.007,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureWithoutNormalCoefficientsIsZeroPoint",
                "seconds": 0.806,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureFromMultiplierClusteredPoint",
            "macro": "TEST",
            "source_line": 572,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_GT(n_segments, 0u);",
              "ASSERT_LT(n_segments, 50u);",
              "ASSERT_EQ(problem.inclusions.n_dofs(), n_segments * 2u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureFromMultiplierClusteredPoint",
                "seconds": 1.009,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureFromMultiplierClusteredPoint",
                "seconds": 0.805,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureIndependentOfInclusionSpacingClusteredPoint",
            "macro": "TEST",
            "source_line": 590,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(coarse.size(), 2u);",
              "ASSERT_EQ(fine.size(), 2u);",
              "ASSERT_NE(coarse[v], 0.) << \"vessel \" << v;",
              "EXPECT_NEAR(fine[v], coarse[v], 1e-2 * std::abs(coarse[v]))"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureIndependentOfInclusionSpacingClusteredPoint",
                "seconds": 7.133,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureIndependentOfInclusionSpacingClusteredPoint",
                "seconds": 6.03,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureIndependentOfInclusionSpacingPoint",
            "macro": "TEST",
            "source_line": 609,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(coarse.size(), 2u);",
              "ASSERT_EQ(fine.size(), 2u);",
              "ASSERT_NE(coarse[v], 0.) << \"vessel \" << v;",
              "EXPECT_NEAR(fine[v], coarse[v], 0.1 * std::abs(coarse[v]))"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureIndependentOfInclusionSpacingPoint",
                "seconds": 6.925,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureIndependentOfInclusionSpacingPoint",
                "seconds": 5.343,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureFromMultiplierTensorProduct",
            "macro": "TEST",
            "source_line": 631,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(problem.n_vessels(), 2u);",
              "ASSERT_EQ(reduced_dh.get_fe().n_components(), 2u);",
              "ASSERT_EQ(by_point.size(), vertices.size());",
              "EXPECT_NEAR(k, 0.5, 3e-2);",
              "EXPECT_NEAR(by_point[n],",
              "ASSERT_EQ(by_vessel.size(), 2u);",
              "EXPECT_NEAR(by_vessel[0], k * (lambda_3(-0.5) + lambda_7(-0.5)), 1e-12);",
              "EXPECT_NEAR(by_vessel[1], k * (lambda_3(0.5) + lambda_7(0.5)), 1e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureFromMultiplierTensorProduct",
                "seconds": 0.928,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureFromMultiplierTensorProduct",
                "seconds": 0.744,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureRemovesInteriorStressPoint",
            "macro": "TEST",
            "source_line": 710,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(p, point_interior_stress, 1e-12);",
              "EXPECT_NEAR(p, point_interior_stress, 1e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureRemovesInteriorStressPoint",
                "seconds": 3.282,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureRemovesInteriorStressPoint",
                "seconds": 2.65,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureRemovesInteriorStressClusteredPoint",
            "macro": "TEST",
            "source_line": 725,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(p, point_interior_stress, 1e-12);",
              "EXPECT_NEAR(p, point_interior_stress, 1e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureRemovesInteriorStressClusteredPoint",
                "seconds": 3.32,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureRemovesInteriorStressClusteredPoint",
                "seconds": 2.895,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_PressureRemovesInteriorStressTensorProduct",
            "macro": "TEST",
            "source_line": 745,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(by_point.size(), 5u);",
              "EXPECT_NEAR(by_point[0],",
              "EXPECT_NEAR(p, by_point[0], 1e-8 * by_point[0]);",
              "ASSERT_EQ(by_vessel.size(), 2u);",
              "EXPECT_NEAR(p, by_point[0], 1e-8 * by_point[0]);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_PressureRemovesInteriorStressTensorProduct",
                "seconds": 3.69,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_PressureRemovesInteriorStressTensorProduct",
                "seconds": 2.655,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataByCellsPoint",
            "macro": "TEST",
            "source_line": 777,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.update_vessel_radius_data(ends, {2, 2}));",
              "EXPECT_NEAR(problem.inclusions.inclusions_data[25 * vessel + k][3],"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataByCellsPoint",
                "seconds": 1.033,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataByCellsPoint",
                "seconds": 0.821,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataByOneCellPoint",
            "macro": "TEST",
            "source_line": 799,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.update_vessel_radius_data({0.2, 0.4}, {1, 1}));",
              "EXPECT_DOUBLE_EQ(problem.inclusions.inclusions_data[i][3],"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataByOneCellPoint",
                "seconds": 1.037,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataByOneCellPoint",
                "seconds": 0.82,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_UpdateVesselRadiusDataByCellsInterpolatesPoint",
            "macro": "TEST",
            "source_line": 814,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.update_vessel_radius_data(new_data, {3, 4}));",
              "EXPECT_NEAR(problem.inclusions.inclusions_data[25 * vessel + k][3],"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataByCellsInterpolatesPoint",
                "seconds": 1.034,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_UpdateVesselRadiusDataByCellsInterpolatesPoint",
                "seconds": 0.827,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_SplitPressureOverInclusionsPoint",
            "macro": "TEST",
            "source_line": 840,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(split.size(), 2u);",
              "ASSERT_EQ(split[vessel].size(), 49u);",
              "EXPECT_NEAR(split[vessel][c], 25. * vessel + c / 2., 1e-12)"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsPoint",
                "seconds": 1.034,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsPoint",
                "seconds": 0.834,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_SplitPressureOverInclusionsOneCellPerInclusionPoint",
            "macro": "TEST",
            "source_line": 869,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(split.size(), 2u);",
              "ASSERT_EQ(split[vessel].size(), 25u);",
              "EXPECT_NEAR(split[vessel][c], i * i, 1e-12)"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsOneCellPerInclusionPoint",
                "seconds": 1.035,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsOneCellPerInclusionPoint",
                "seconds": 0.829,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_SplitPressureOverInclusionsOneCellPoint",
            "macro": "TEST",
            "source_line": 895,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(split.size(), 2u);",
              "ASSERT_EQ(split[0].size(), 1u);",
              "ASSERT_EQ(split[1].size(), 1u);",
              "EXPECT_NEAR(split[0][0], 12., 1e-12);",
              "EXPECT_NEAR(split[1][0], 37., 1e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsOneCellPoint",
                "seconds": 1.042,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsOneCellPoint",
                "seconds": 0.832,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_SplitPressureOverInclusionsInterpolatesPoint",
            "macro": "TEST",
            "source_line": 917,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(split.size(), 2u);",
              "ASSERT_EQ(split[vessel].size(), static_cast<unsigned>(n_cells[vessel]));",
              "EXPECT_NEAR(split[vessel][c],",
              "EXPECT_DOUBLE_EQ(split[vessel].front(), vessel_pressure.front());",
              "EXPECT_DOUBLE_EQ(split[vessel].back(), vessel_pressure.back());"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsInterpolatesPoint",
                "seconds": 1.043,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsInterpolatesPoint",
                "seconds": 0.835,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_SplitPressureOverInclusionsSingleInclusionPoint",
            "macro": "TEST",
            "source_line": 949,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(problem.n_vessels(), 2u);",
              "ASSERT_EQ(split.size(), 2u);",
              "ASSERT_EQ(split[0].size(), 3u);",
              "EXPECT_NEAR(split[0][c],",
              "ASSERT_EQ(split[1].size(), 4u);",
              "EXPECT_DOUBLE_EQ(split[1][c], pressure(49)) << \"cell \" << c;",
              "ASSERT_EQ(one_cell.size(), 2u);",
              "ASSERT_EQ(one_cell[0].size(), 1u);",
              "ASSERT_EQ(one_cell[1].size(), 1u);",
              "EXPECT_NEAR(one_cell[0][0], mean, 1e-10);",
              "EXPECT_DOUBLE_EQ(one_cell[1][0], pressure(49));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsSingleInclusionPoint",
                "seconds": 1.041,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsSingleInclusionPoint",
                "seconds": 0.836,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_SplitPressureOverInclusionsWrongNumberOfVesselsPoint",
            "macro": "TEST",
            "source_line": 996,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_ANY_THROW(problem.split_pressure_over_inclusions("
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsWrongNumberOfVesselsPoint",
                "seconds": 1.046,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsWrongNumberOfVesselsPoint",
                "seconds": 0.838,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          },
          {
            "suite": "CoupledElasticity",
            "name": "BOTH_SplitPressureOverInclusionsZeroCellsPoint",
            "macro": "TEST",
            "source_line": 1008,
            "action": "reduce",
            "reason": "Reduce shared 3D bulk fixture refinement3 to2; retain inclusion layout, quadrature, pressure/radius/interpolation assertions and all serial/MPI cases. Validate before integration.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_ANY_THROW(problem.split_pressure_over_inclusions("
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsZeroCellsPoint",
                "seconds": 1.043,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledElasticity"
              },
              {
                "test": "CoupledElasticity.BOTH_SplitPressureOverInclusionsZeroCellsPoint",
                "seconds": 0.84,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledElasticity"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/coupled_poisson_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "227399ebca777827a9b752510cad29e6999d3ffae936e4ca378f3557da4144f9",
      "candidate_source_sha256": "227399ebca777827a9b752510cad29e6999d3ffae936e4ca378f3557da4144f9",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Distributed coupled residuals and adapter composition, matrix/operator agreement and distinct direct/iterative/augmented solves.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "CoupledPoisson",
            "name": "MPI_UnifiedConstraintSolve",
            "macro": "TEST",
            "source_line": 62,
            "action": "keep",
            "reason": "Distributed coupled residuals and adapter composition, matrix/operator agreement and distinct direct/iterative/augmented solves.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(adapter.saddle_points().size(), 1u);",
              "EXPECT_EQ(adapter.saddle_points().front().participants.size(), 2u);",
              "EXPECT_EQ(adapter.field(state, coupling.fields().multiplier).size(),",
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_TRUE(bulk_problem.solution_is_finite());",
              "EXPECT_TRUE(embedded_problem.solution_is_finite());",
              "EXPECT_GT(bulk_problem.solution_l2_norm(), 1.e-12);",
              "EXPECT_GT(embedded_problem.solution_l2_norm(), 1.e-12);",
              "EXPECT_LT(residual.l2_norm(), 1.e-7);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledPoisson.MPI_UnifiedConstraintSolve",
                "seconds": 0.518,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledPoisson"
              }
            ]
          },
          {
            "suite": "CoupledPoisson",
            "name": "MPI_LinearAdapterComposesStandaloneProblems",
            "macro": "TEST",
            "source_line": 186,
            "action": "keep",
            "reason": "Distributed coupled residuals and adapter composition, matrix/operator agreement and distinct direct/iterative/augmented solves.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(output_contains(multiplier_output,",
              "EXPECT_LT(bulk_difference.l2_norm(), 1.e-12);",
              "EXPECT_LT(embedded_difference.l2_norm(), 1.e-12);",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(",
              "EXPECT_GT(linear.field(state, embedded.fields().solution).l2_norm(), 1.e-12);",
              "EXPECT_LT(residual.l2_norm(), 1.e-7);",
              "EXPECT_LT(augmented_residual.l2_norm(), 1.e-7);",
              "EXPECT_TRUE(direct.can_materialize_matrix(direct_state));",
              "EXPECT_EQ(direct_matrix.m(), expected_system_size);",
              "EXPECT_EQ(direct_matrix.n(), expected_system_size);",
              "EXPECT_LT(matrix_action.l2_norm(), 1.e-10);",
              "ASSERT_EQ(direct.saddle_points().size(), 1u);",
              "ASSERT_TRUE(",
              "EXPECT_LT(augmented_matrix_action.l2_norm(), 1.e-10);",
              "EXPECT_LT(direct_residual.l2_norm(), 1.e-7);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledPoisson.MPI_LinearAdapterComposesStandaloneProblems",
                "seconds": 1.417,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledPoisson"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/coupled_poisson_elasticity_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "bbd046dad3b763da68a2295cffe123c5bd3ed260fb336ca5a0498d43fd0edc7a",
      "candidate_source_sha256": "bbd046dad3b763da68a2295cffe123c5bd3ed260fb336ca5a0498d43fd0edc7a",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Analytic endpoint Poisson data and pressure/traction force balance on tensor-product and simplex meshes.",
        "reviewed_macro_occurrences": 3,
        "cases": [
          {
            "suite": "CoupledPoissonElasticity",
            "name": "BOTH_PoissonEndpointData",
            "macro": "TEST",
            "source_line": 53,
            "action": "keep",
            "reason": "Analytic endpoint Poisson data and pressure/traction force balance on tensor-product and simplex meshes.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(Utilities::MPI::sum(constrained, MPI_COMM_WORLD), 2u);",
              "EXPECT_NEAR(poisson.solution()[dof], 1. + points.at(dof)[0], 1.e-10);",
              "EXPECT_LT(residual.l2_norm(), 1.e-9);",
              "EXPECT_GT(adapter.field(state, u).l2_norm(), 1.e-12);",
              "ASSERT_GT(length_square, 0.);",
              "EXPECT_GT(Utilities::MPI::sum(samples.locally_owned_size(), MPI_COMM_WORLD),",
              "EXPECT_NEAR(samples[pressure.point_index(q)], expected, 1.e-10);",
              "EXPECT_LT(defect.l2_norm(), 1.e-9);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledPoissonElasticity.BOTH_PoissonEndpointData",
                "seconds": 0.047,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledPoissonElasticity"
              },
              {
                "test": "CoupledPoissonElasticity.BOTH_PoissonEndpointData",
                "seconds": 0.036,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledPoissonElasticity"
              }
            ]
          },
          {
            "suite": "CoupledPoissonElasticity",
            "name": "BOTH_PressureTractionBalance",
            "macro": "TEST",
            "source_line": 176,
            "action": "keep",
            "reason": "Analytic endpoint Poisson data and pressure/traction force balance on tensor-product and simplex meshes.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Analytic endpoint Poisson data and pressure/traction force balance on tensor-product and simplex meshes.",
            "ci_debug_observations": [
              {
                "test": "CoupledPoissonElasticity.BOTH_PressureTractionBalance",
                "seconds": 0.658,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledPoissonElasticity"
              },
              {
                "test": "CoupledPoissonElasticity.BOTH_PressureTractionBalance",
                "seconds": 0.41,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledPoissonElasticity"
              }
            ]
          },
          {
            "suite": "CoupledPoissonElasticity",
            "name": "BOTH_SimplexPressureTractionBalance",
            "macro": "TEST",
            "source_line": 181,
            "action": "keep",
            "reason": "Analytic endpoint Poisson data and pressure/traction force balance on tensor-product and simplex meshes.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Analytic endpoint Poisson data and pressure/traction force balance on tensor-product and simplex meshes.",
            "ci_debug_observations": [
              {
                "test": "CoupledPoissonElasticity.BOTH_SimplexPressureTractionBalance",
                "seconds": 0.671,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledPoissonElasticity"
              },
              {
                "test": "CoupledPoissonElasticity.BOTH_SimplexPressureTractionBalance",
                "seconds": 0.495,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledPoissonElasticity"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/coupled_poisson_elasticity_parameters_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "5617acfa972069409cd7d98836898396a0b6b4c1d05a82bd74597dec0af5fd15",
      "candidate_source_sha256": "5617acfa972069409cd7d98836898396a0b6b4c1d05a82bd74597dec0af5fd15",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Independent particle-coupling parameter roots; a parser regression requiring no solve.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "TractionParameters",
            "name": "IndependentParticleCouplingRoots",
            "macro": "TEST",
            "source_line": 18,
            "action": "keep",
            "reason": "Independent particle-coupling parameter roots; a parser regression requiring no solve.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(traction_a.particle_coupling_parameters().rtree_extraction_level,",
              "EXPECT_EQ(traction_b.particle_coupling_parameters().rtree_extraction_level,"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "TractionParameters.IndependentParticleCouplingRoots",
                "seconds": 0.001,
                "rank": null,
                "group": "ImmersX_integration_Serial_TractionParameters"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/coupled_poisson_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "200ad772a49c08983a93cc8734b106e8136e14f49af6ace452617250075d801c",
      "candidate_source_sha256": "200ad772a49c08983a93cc8734b106e8136e14f49af6ace452617250075d801c",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Exact quadratic field, negligible multiplier and true coupled residual on simplex mesh.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "CoupledPoisson",
            "name": "BOTH_SimplexQuadraticSolution",
            "macro": "TEST",
            "source_line": 16,
            "action": "keep",
            "reason": "Exact quadratic field, negligible multiplier and true coupled residual on simplex mesh.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(bulk.dof_handler().get_fe().reference_cell().is_simplex());",
              "EXPECT_LT(residual.l2_norm(), 1.e-9);",
              "EXPECT_LT(adapter.field(state, coupling.fields().multiplier).l2_norm(),",
              "EXPECT_LT(expected.linfty_norm(), 1.e-9);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "CoupledPoisson.BOTH_SimplexQuadraticSolution",
                "seconds": 0.51,
                "rank": 0,
                "group": "ImmersX_integration_MPI_CoupledPoisson"
              },
              {
                "test": "CoupledPoisson.BOTH_SimplexQuadraticSolution",
                "seconds": 0.304,
                "rank": null,
                "group": "ImmersX_integration_Serial_CoupledPoisson"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/coupled_tissue_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "0a831f3c1702418dd747763717380a2c8b480b399482d1229c18ede2e754c6c7",
      "candidate_source_sha256": "0a831f3c1702418dd747763717380a2c8b480b399482d1229c18ede2e754c6c7",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Nonconstant vesselwise tissue feedback and interpolated point pressure; simplex/tensor-product native parity.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_SimplexPointwiseTissueFeedback",
            "macro": "TEST",
            "source_line": 74,
            "action": "keep",
            "reason": "Nonconstant vesselwise tissue feedback and interpolated point pressure; simplex/tensor-product native parity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Nonconstant vesselwise tissue feedback and interpolated point pressure; simplex/tensor-product native parity.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_HypercubePointwiseTissueFeedback",
            "macro": "TEST",
            "source_line": 78,
            "action": "keep",
            "reason": "Nonconstant vesselwise tissue feedback and interpolated point pressure; simplex/tensor-product native parity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Nonconstant vesselwise tissue feedback and interpolated point pressure; simplex/tensor-product native parity.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/dimension_parameters_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "98dbade5ced997bc5983141d9591ca318b4d3a54b78123bd2856790598947ae4",
      "candidate_source_sha256": "98dbade5ced997bc5983141d9591ca318b4d3a54b78123bd2856790598947ae4",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Explicit top-level dimension parsing and distinct default values.",
        "source_lines_before": 53,
        "source_lines_after": 53,
        "cases_before": [
          {
            "case": "DimensionParameters.ReadTopLevelValues",
            "source_line": 23,
            "action": "keep",
            "reason": "Explicit top-level dimension parsing and distinct default values.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(dimensions.dimension, 1u);",
              "EXPECT_EQ(dimensions.space_dimension, 3u);",
              "EXPECT_EQ(dimensions.reduced_dimension, 1u);",
              "EXPECT_EQ(dimensions.cross_section_dimension, 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DimensionParameters.Defaults",
            "source_line": 43,
            "action": "keep",
            "reason": "Explicit top-level dimension parsing and distinct default values.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(dimensions.dimension, 2u);",
              "EXPECT_EQ(dimensions.space_dimension, 2u);",
              "EXPECT_EQ(dimensions.reduced_dimension, 1u);",
              "EXPECT_EQ(dimensions.cross_section_dimension, 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/distributed_ida_adapters_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "e99ad617ad9a99af4e5fd2772f6f0e3fca89b4ffc366b80fb1a3654a746ca475",
      "candidate_source_sha256": "e99ad617ad9a99af4e5fd2772f6f0e3fca89b4ffc366b80fb1a3654a746ca475",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
        "source_lines_before": 963,
        "source_lines_after": 963,
        "cases_before": [
          {
            "case": "DistributedIDA.ApplicationConsistentInitialConditions",
            "source_line": 104,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(time, 0.);",
              "EXPECT_GT(adapter.solve(state, dot), 0u);",
              "EXPECT_EQ(callback_count, 1u);",
              "EXPECT_TRUE(initial_output);",
              "EXPECT_FALSE(early_residual);",
              "EXPECT_DOUBLE_EQ(initial_state_norm, std::sqrt(8.));",
              "EXPECT_DOUBLE_EQ(initial_dot_norm, std::sqrt(8.));"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.053,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.CompleteParameterControls",
            "source_line": 163,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(data.maximum_step_size, 0.002);",
              "EXPECT_EQ(data.maximum_number_of_steps, 123);",
              "EXPECT_EQ(data.maximum_error_test_failures, 7u);",
              "EXPECT_EQ(data.maximum_convergence_failures, 8u);",
              "EXPECT_DOUBLE_EQ(data.nonlinear_convergence_coefficient, 0.2);",
              "EXPECT_EQ(data.maximum_number_of_steps_ic, 9u);",
              "EXPECT_EQ(data.maximum_number_of_jacobians_ic, 6u);",
              "EXPECT_EQ(data.maximum_number_of_backtracks_ic, 12u);",
              "EXPECT_FALSE(data.line_search_enabled_ic);",
              "EXPECT_EQ(data.ic_type, Adapter::AdditionalData::use_y_diff);",
              "EXPECT_DOUBLE_EQ(data.linear_tolerance_factor, 0.04);",
              "EXPECT_DOUBLE_EQ(data.increment_factor, 0.9);",
              "EXPECT_FALSE(data.linear_solution_scaling);",
              "EXPECT_EQ(data.maximum_order, 1u);",
              "EXPECT_DOUBLE_EQ(data.absolute_tolerance, 1.e-4);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.006,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.NativeSetupFailureThrows",
            "source_line": 210,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(adapter.solve(y, yp), dealii::ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.NativeWorkLimitThrows",
            "source_line": 223,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(t, time.initial_time);",
              "EXPECT_THROW(adapter.solve(y, yp), dealii::ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.BackportedControlsAndConstraints",
            "source_line": 248,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(memory, adapter.solver().get_ida_memory());",
              "EXPECT_THROW(adapter.set_additional_data(data), dealii::ExceptionBase);",
              "EXPECT_GE(adapter.solve(state, dot), 10u);",
              "EXPECT_EQ(setup_count, 1u);",
              "EXPECT_NEAR(adapter.field(state, field.fields())[0],"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.093,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.IDACalcICFallbackRemainsAvailable",
            "source_line": 285,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(adapter.solve(state, dot), 0u);",
              "EXPECT_NEAR(initial_dot_norm, std::sqrt(2.), 1.e-8);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.082,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.ApplicationConsistentInitialConditionFailurePropagates",
            "source_line": 324,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(adapter.solve(state, dot), std::runtime_error);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.NoneLeavesInitialConditionsUntouched",
            "source_line": 356,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(adapter.solve(state, dot), 0u);",
              "EXPECT_TRUE(initial_output);",
              "EXPECT_DOUBLE_EQ(initial_dot_norm, 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.229,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.RestartCallbackPrecedesResetAndCanResizeState",
            "source_line": 400,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(values.size(), tolerance_builds == 1 ? 2u : 3u);",
              "EXPECT_GT(adapter.solve(state, dot), 0u);",
              "EXPECT_GE(restart_count, 2u);",
              "EXPECT_EQ(consistent_count, 2u);",
              "EXPECT_EQ(tolerance_builds, 2u);",
              "EXPECT_EQ(state.block(0).size(), 3u);",
              "EXPECT_EQ(dot.block(0).size(), 3u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.067,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.MPI_StateDependentJacobianOwnsEvaluationState",
            "source_line": 459,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(adapter.field(state, field.fields())[rank], 3.);",
              "EXPECT_EQ(result.block(0)[rank], 3.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.005,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.MPI_MixedFieldDifferentialComponents",
            "source_line": 528,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(dealii::Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "EXPECT_EQ(mask.size(), 4u);",
              "EXPECT_EQ(mask.is_element(0), rank == 0);",
              "EXPECT_EQ(mask.is_element(1), rank == 0);",
              "EXPECT_FALSE(mask.is_element(2));",
              "EXPECT_FALSE(mask.is_element(3));",
              "EXPECT_EQ(adapter.field(residual, field.fields())[local_index], 3.);",
              "EXPECT_EQ(adapter.field(action, field.fields())[local_index], 4.);",
              "EXPECT_EQ(adapter.field(action, field.fields())[local_index], 5.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.036,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.BOTH_SchurRetainsDisplacementVelocityPath",
            "source_line": 655,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(action[rank], 0., 1.e-14);",
              "EXPECT_NEAR(action[rank], 0.25, 1.e-14);",
              "EXPECT_NEAR(action[rank], 0.25, 1.e-14);",
              "EXPECT_NEAR(composition.field(solution, fields[0])[rank], 3., 1.e-12);",
              "EXPECT_NEAR(composition.field(solution, fields[1])[rank], 5., 1.e-12);",
              "EXPECT_NEAR(composition.field(solution, fields[2])[rank], -8., 1.e-12);",
              "EXPECT_NEAR(composition.field(solution, fields[0])[rank], 4., 1.e-12);",
              "EXPECT_NEAR(composition.field(solution, fields[1])[rank], 3., 1.e-12);",
              "EXPECT_NEAR(composition.field(solution, fields[2])[rank], -7., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.228,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.201,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.SerialUMFPACKSolvesCurrentDAEJacobian",
            "source_line": 729,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_FALSE(adapter.has_current_preconditioner());",
              "EXPECT_NEAR(adapter.field(solution, fields[0])[0], 3., 1.e-12);",
              "EXPECT_NEAR(adapter.field(solution, fields[1])[0], 5., 1.e-12);",
              "EXPECT_NEAR(adapter.field(solution, fields[2])[0], -8., 1.e-12);",
              "EXPECT_LT(action.l2_norm(), 1.e-12);",
              "EXPECT_NEAR(adapter.field(solution, fields[0])[0], 3., 1.e-12);",
              "EXPECT_NEAR(adapter.field(solution, fields[1])[0], 4., 1.e-12);",
              "EXPECT_NEAR(adapter.field(solution, fields[2])[0], -10., 1.e-12);",
              "EXPECT_LT(action.l2_norm(), 1.e-12);",
              "EXPECT_THROW(adapter.set_serial_direct_solver(false), ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.022,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.BOTH_MUMPSSolvesCurrentDAEJacobian",
            "source_line": 903,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_mumps_jacobian("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.072,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.027,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.MPI_MUMPSHandlesEmptyExecutionRank",
            "source_line": 908,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_GT(dealii::Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);"
            ],
            "helper_checks": [
              "check_mumps_jacobian("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.063,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.MUMPSRejectsUnavailableBackend",
            "source_line": 914,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(adapter.set_linear_solver(Adapter::LinearSolver::mumps),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [],
            "observed_in_quick_ci": false
          },
          {
            "case": "DistributedIDA.MPI_UMFPACKRejectsMultipleRanks",
            "source_line": 924,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_GT(dealii::Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);",
              "EXPECT_THROW(adapter.set_serial_direct_solver(), dealii::ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.BOTH_PreservesFatalCallbackException",
            "source_line": 933,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(call_and_possibly_capture_exception(callback, pending), -1);",
              "EXPECT_EQ(call_and_possibly_capture_exception(callback, pending), -1);",
              "EXPECT_EQ(calls, 1u);",
              "ASSERT_TRUE(pending);",
              "EXPECT_STREQ(exception.what(), \"original callback failure\");"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.0,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.AdapterIsConditionallyUnavailable",
            "source_line": 958,
            "action": "keep",
            "reason": "Initial-condition ownership/fallback/restart, callback failures, work limits, differential masks and distinct UMFPACK/MUMPS/distributed Schur paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was configured without SUNDIALS support.\";"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [],
            "observed_in_quick_ci": false
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/distributed_lifted_quadrature_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "a4e677993861004a342c3014e865897b2095cb53a53860efb300d353b21228b4",
      "candidate_source_sha256": "a4e677993861004a342c3014e865897b2095cb53a53860efb300d353b21228b4",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Two-rank cross-partition source stencil exchange, stable IDs, repeated actions and adjoint identity.",
        "source_lines_before": 105,
        "source_lines_after": 105,
        "cases_before": [
          {
            "case": "DistributedLiftedQuadrature.MPI_CrossPartitionSourceStencilExchange",
            "source_line": 28,
            "action": "keep",
            "reason": "Two-rank cross-partition source stencil exchange, stable IDs, repeated actions and adjoint identity.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(comm), 2u);",
              "ASSERT_EQ(local_center.size(), 3u);",
              "ASSERT_EQ(centers.size(), 2u);",
              "ASSERT_EQ(centers[0].size(), 3u);",
              "ASSERT_EQ(centers[1].size(), 3u);",
              "ASSERT_EQ(distributed.target_stencils().size(), 1u);",
              "EXPECT_EQ(stencil.stable_id, 100 + (1 - rank));",
              "EXPECT_EQ(stencil.source_rank, 1 - rank);",
              "EXPECT_EQ(stencil.source_dof_indices,",
              "ASSERT_EQ(target_values.size(), 1u);",
              "EXPECT_DOUBLE_EQ(target_values.begin()->second, 2. - rank);",
              "EXPECT_EQ(repeated_target_values, target_values);",
              "EXPECT_DOUBLE_EQ(repeated_transposed[0], transposed[0]);",
              "EXPECT_NEAR(Utilities::MPI::sum(local_lhs, comm),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedLiftedQuadrature",
                "rank": 0,
                "seconds": 0.037,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/domain_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "73650e48b8763067907cbac6b515dfd62787c3bd013338a0c26e12cfd438df13",
      "candidate_source_sha256": "e85cb6dc56845a45dd3a236373a6315e04911d5af75de4036812e5da799e6133",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
        "source_lines_before": 465,
        "source_lines_after": 449,
        "cases_before": [
          {
            "case": "Domain.GeneratesNamedGrid",
            "source_line": 14,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(domain.make_grid());",
              "EXPECT_EQ(domain.triangulation().n_global_active_cells(), 4u);",
              "EXPECT_EQ(&all_cells.triangulation(), &domain.triangulation());",
              "EXPECT_TRUE(all_cells.includes_cell(domain.triangulation().begin_active()));",
              "EXPECT_EQ(material_zero.material_id(), 0u);",
              "EXPECT_TRUE(",
              "EXPECT_FALSE(",
              "EXPECT_EQ(&all_boundary.triangulation(), &domain.triangulation());",
              "EXPECT_EQ(all_boundary.boundary_ids(), std::set<types::boundary_id>{0});",
              "EXPECT_EQ(boundary_zero.boundary_ids(), std::set<types::boundary_id>{0});"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.012,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.BOTH_ObservesExistingTriangulation",
            "source_line": 43,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(&domain.triangulation(), &triangulation);",
              "EXPECT_FALSE(domain.uses_fully_distributed_triangulation());",
              "EXPECT_EQ(domain.communicator(), triangulation.get_mpi_communicator());",
              "EXPECT_EQ(domain.triangulation().n_global_active_cells(), 4u);",
              "EXPECT_EQ(&domain.support().triangulation(), &triangulation);",
              "EXPECT_THROW(domain.make_grid(), dealii::ExceptionBase);",
              "EXPECT_EQ(triangulation.n_global_active_cells(), 16u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.012,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.BOTH_InitializesExternalFullyDistributedTriangulation",
            "source_line": 65,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(domain.uses_fully_distributed_triangulation());",
              "ASSERT_NO_THROW(domain.make_grid());",
              "EXPECT_EQ(&domain.triangulation(), &triangulation);",
              "EXPECT_EQ(triangulation.n_global_active_cells(), 4u);",
              "EXPECT_EQ(triangulation.n_global_active_cells(), 4u);",
              "EXPECT_TRUE(observer.uses_fully_distributed_triangulation());",
              "EXPECT_EQ(&observer.triangulation(), &triangulation);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.005,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.BOTH_PreparesExistingCoarseMeshWithIds",
            "source_line": 85,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(domain.refinement_triangulation().n_active_cells(), 4u);",
              "EXPECT_EQ(domain.triangulation().n_global_active_cells(), 4u);",
              "EXPECT_EQ(cell->material_id(), 42u);",
              "EXPECT_EQ(Utilities::MPI::sum(left, MPI_COMM_WORLD), 1u);",
              "EXPECT_EQ(Utilities::MPI::sum(right, MPI_COMM_WORLD), 1u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.006,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.005,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.CopiesToSerialTriangulation",
            "source_line": 118,
            "action": "consolidate",
            "reason": "Same setup/copy/assertions are shared with the MPI version; serial and two-rank execution stay enabled.",
            "replacement_cases": [
              "Domain.BOTH_CopiesToSerialTriangulation"
            ],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(triangulation.copy_triangulation(domain.triangulation()));",
              "EXPECT_EQ(triangulation.n_active_cells(), 16u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.005,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.MPI_CopiesToSerialTriangulation",
            "source_line": 134,
            "action": "consolidate",
            "reason": "The combined test preserves global16/local8 cell counts for two ranks and the copied serial16-cell result.",
            "replacement_cases": [
              "Domain.BOTH_CopiesToSerialTriangulation"
            ],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "EXPECT_EQ(domain.triangulation().n_global_active_cells(), 16u);",
              "EXPECT_EQ(domain.triangulation().n_locally_owned_active_cells(), 8u);",
              "ASSERT_NO_THROW(triangulation.copy_triangulation(domain.triangulation()));",
              "EXPECT_EQ(triangulation.n_active_cells(), 16u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.011,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.ReadsLegacyVtkGrid",
            "source_line": 154,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(domain.make_grid());",
              "EXPECT_EQ(domain.triangulation().n_global_active_cells(), 1u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.TreatsGridNameWithExtensionAsFile",
            "source_line": 181,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(std::string(exception.what()).find(\"not implemented\"),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.022,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.ImportsVtkFieldsAndIds",
            "source_line": 201,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(domain.make_grid());",
              "ASSERT_TRUE(domain.has_vtk_fields());",
              "EXPECT_EQ(domain.triangulation().begin_active()->material_id(), 7u);",
              "EXPECT_EQ(domain.vtk_fields().catalog().size(), 3u);",
              "EXPECT_EQ(domain.field(\"vertex_property\").descriptor().n_components, 1u);",
              "EXPECT_EQ(domain.field(\"cell_property\").descriptor().association,"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.011,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.BOTH_TransfersExternalFieldsWithoutRereading",
            "source_line": 246,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(domain.has_vtk_fields());",
              "EXPECT_EQ(a0.field().dof_handler().n_dofs(), 4u);",
              "EXPECT_DOUBLE_EQ(a0.coefficients()[index], 3.5);",
              "EXPECT_EQ(triangulation.n_global_active_cells(), 1u);",
              "EXPECT_EQ(a0.field().dof_handler().n_dofs(), 1u);",
              "EXPECT_DOUBLE_EQ(a0.coefficients()[index], 3.5);",
              "EXPECT_EQ(triangulation.n_global_active_cells(), 4u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.023,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.TransfersImportedFieldsAcrossInitialRefinement",
            "source_line": 299,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(domain.make_grid());",
              "ASSERT_TRUE(domain.has_vtk_fields());",
              "ASSERT_EQ(domain.triangulation().n_global_active_cells(), 4u);",
              "EXPECT_EQ(n_dofs, 4u);",
              "EXPECT_EQ(&field.coefficients(), coefficients);",
              "EXPECT_DOUBLE_EQ(field.coefficients()[index], 3.5);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.007,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.TransfersImportedFieldsAcrossLocalRefinement",
            "source_line": 341,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(domain.make_grid());",
              "ASSERT_TRUE(domain.has_vtk_fields());",
              "EXPECT_GT(field.field().dof_handler().n_dofs(), before_n_dofs);",
              "EXPECT_DOUBLE_EQ(field.coefficients()[index], 3.5);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.007,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.ReadsIdsWithoutRetainingVtkFields",
            "source_line": 385,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(domain.make_grid());",
              "EXPECT_FALSE(domain.has_vtk_fields());",
              "EXPECT_EQ(domain.triangulation().begin_active()->material_id(), 7u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.ReadsBoundaryIdsWithoutRetainingVtkFields",
            "source_line": 419,
            "action": "keep",
            "reason": "Owning/observing triangulations, staged fully-distributed setup, IDs, serial copies and field transfer across mesh refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(domain.make_grid());",
              "EXPECT_FALSE(domain.has_vtk_fields());",
              "EXPECT_EQ(boundary_ids, (std::set<types::boundary_id>{11, 12, 13, 14}));"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": [
          "Domain.BOTH_CopiesToSerialTriangulation"
        ]
      }
    },
    {
      "path": "gtests/elastic_static_adapter_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "621a6674c8a9a0a7c967d1df525a40343629f73358a2785c3ab9540c94be180d",
      "candidate_source_sha256": "621a6674c8a9a0a7c967d1df525a40343629f73358a2785c3ab9540c94be180d",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Exact affine adapter solution on both reference-cell families; complements native-only tests.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "LinearAdapter",
            "name": "BOTH_SimplexElasticStatic",
            "macro": "TEST",
            "source_line": 53,
            "action": "keep",
            "reason": "Exact affine adapter solution on both reference-cell families; complements native-only tests.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact affine adapter solution on both reference-cell families; complements native-only tests.",
            "ci_debug_observations": [
              {
                "test": "LinearAdapter.BOTH_SimplexElasticStatic",
                "seconds": 0.306,
                "rank": null,
                "group": "ImmersX_integration_Serial_LinearAdapter"
              },
              {
                "test": "LinearAdapter.BOTH_SimplexElasticStatic",
                "seconds": 0.224,
                "rank": 0,
                "group": "ImmersX_integration_MPI_LinearAdapter"
              }
            ]
          },
          {
            "suite": "LinearAdapter",
            "name": "BOTH_HypercubeElasticStatic",
            "macro": "TEST",
            "source_line": 58,
            "action": "keep",
            "reason": "Exact affine adapter solution on both reference-cell families; complements native-only tests.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact affine adapter solution on both reference-cell families; complements native-only tests.",
            "ci_debug_observations": [
              {
                "test": "LinearAdapter.BOTH_HypercubeElasticStatic",
                "seconds": 0.51,
                "rank": 0,
                "group": "ImmersX_integration_MPI_LinearAdapter"
              },
              {
                "test": "LinearAdapter.BOTH_HypercubeElasticStatic",
                "seconds": 0.48,
                "rank": null,
                "group": "ImmersX_integration_Serial_LinearAdapter"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elastic_static_dimension_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "1133ddda9714e54cdb32dd27511369e1136898100fdffda0fdde34c067461bbb",
      "candidate_source_sha256": "1133ddda9714e54cdb32dd27511369e1136898100fdffda0fdde34c067461bbb",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Every valid dim/spacedim instantiation on both distributed backends, true residuals and native/adapter field parity.",
        "reviewed_macro_occurrences": 3,
        "cases": [
          {
            "suite": "ElasticStaticDimensions",
            "name": "Serial_FullyDistributedBackendAllCombinations",
            "macro": "TEST",
            "source_line": 151,
            "action": "keep",
            "reason": "Every valid dim/spacedim instantiation on both distributed backends, true residuals and native/adapter field parity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid dim/spacedim instantiation on both distributed backends, true residuals and native/adapter field parity.",
            "ci_debug_observations": [
              {
                "test": "ElasticStaticDimensions.Serial_FullyDistributedBackendAllCombinations",
                "seconds": 0.376,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticDimensions"
              }
            ]
          },
          {
            "suite": "ElasticStaticDimensions",
            "name": "MPI_DistributedBackendAllCombinations",
            "macro": "TEST",
            "source_line": 161,
            "action": "keep",
            "reason": "Every valid dim/spacedim instantiation on both distributed backends, true residuals and native/adapter field parity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid dim/spacedim instantiation on both distributed backends, true residuals and native/adapter field parity.",
            "ci_debug_observations": [
              {
                "test": "ElasticStaticDimensions.MPI_DistributedBackendAllCombinations",
                "seconds": 0.442,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticStaticDimensions"
              }
            ]
          },
          {
            "suite": "ElasticStaticExecution",
            "name": "NativeAndAdapterParity",
            "macro": "TEST",
            "source_line": 171,
            "action": "keep",
            "reason": "Every valid dim/spacedim instantiation on both distributed backends, true residuals and native/adapter field parity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid dim/spacedim instantiation on both distributed backends, true residuals and native/adapter field parity.",
            "ci_debug_observations": [
              {
                "test": "ElasticStaticExecution.NativeAndAdapterParity",
                "seconds": 0.412,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticExecution"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elastic_static_problem_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "1cd6d9636157f1171ab1e107e0929f01b1264fea09d90e6915629801e997527c",
      "candidate_source_sha256": "2ee2803114e590ed27ffbe9dfd1234faa16ffece5d7914527b499415048eab64",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
        "reviewed_macro_occurrences": 20,
        "cases": [
          {
            "suite": "ElasticStaticProblem",
            "name": "BOTH_ConfigurableDisplacementSpace",
            "macro": "TEST",
            "source_line": 103,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(parameters.fe_degree, 1u);",
              "EXPECT_EQ(problem.dof_handler().get_fe().degree, 2u);",
              "EXPECT_EQ(problem.dof_handler().get_fe().n_components(), 2u);",
              "EXPECT_GT(problem.forcing().l2_norm(), 0.);",
              "EXPECT_LT(difference.l2_norm(), 1.e-9);",
              "EXPECT_EQ(problem.dof_handler().get_fe().degree, 2u);",
              "EXPECT_GT(problem.forcing().l2_norm(), 0.);",
              "EXPECT_GT(problem.solution().l2_norm(), 0.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.BOTH_ConfigurableDisplacementSpace",
                "seconds": 0.112,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticStaticProblem"
              },
              {
                "test": "ElasticStaticProblem.BOTH_ConfigurableDisplacementSpace",
                "seconds": 0.095,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "RejectsWrongDisplacementComponents",
            "macro": "TEST",
            "source_line": 135,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_THROW(problem.setup(), dealii::ExceptionBase);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.RejectsWrongDisplacementComponents",
                "seconds": 0.011,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "ParameterParsingAndOverrides",
            "macro": "TEST",
            "source_line": 145,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(parameters.get_dirichlet_bc(0).value(point, 0), 0.25);",
              "EXPECT_EQ(parameters.get_dirichlet_bc(3).value(point, 1), 0.5);",
              "EXPECT_EQ(parameters.get_neumann_bc(1).value(point, 0), 2.);",
              "EXPECT_EQ(parameters.get_neumann_bc(2).value(point, 1), 3.);",
              "EXPECT_EQ(parameters.get_rhs(4).value(point, 0), 0.25);",
              "EXPECT_EQ(parameters.get_rhs(7).value(point, 1), 0.5);",
              "EXPECT_EQ(parameters.get_dirichlet_bc(1).value(point, 0), 0.);",
              "EXPECT_EQ(parameters.get_neumann_bc(3).value(point, 0), 0.);",
              "EXPECT_EQ(parameters.get_rhs(0).value(point, 0), 1.);",
              "EXPECT_EQ(parameters.get_rhs(0).value(point, 1), 2.);",
              "EXPECT_EQ(parameters.exact_solution.value(point, 0), 0.25);",
              "EXPECT_EQ(parameters.exact_solution.value(point, 1), 0.5);",
              "EXPECT_EQ(parameters.get_dirichlet_bc(0).value(point, 0), 0.25);",
              "EXPECT_EQ(parameters.get_neumann_bc(2).value(point, 1), 3.);",
              "EXPECT_EQ(parameters.get_rhs(7).value(point, 1), 0.5);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.ParameterParsingAndOverrides",
                "seconds": 0.058,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "ParsesGeneratedConvergenceParameterFixture",
            "macro": "TEST",
            "source_line": 215,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(parameters.domain_parameters.initial_refinement, 0U);",
              "EXPECT_EQ(parameters.n_refinement_cycles, 2U);",
              "EXPECT_EQ(parameters.dirichlet_ids,",
              "EXPECT_EQ(parameters.neumann_ids, (std::set<dealii::types::boundary_id>{1}));",
              "EXPECT_EQ(parameters.domain_parameters.triangulation_type, \"distributed\");",
              "EXPECT_EQ(parameters.get_dirichlet_bc(0).value(point, 0), 0.25);",
              "EXPECT_EQ(parameters.get_dirichlet_bc(2).value(point, 1), 0.5);",
              "EXPECT_EQ(parameters.get_neumann_bc(1).value(point, 1), 1.);",
              "EXPECT_EQ(parameters.rhs.value(point, 0), 1.);",
              "EXPECT_EQ(parameters.exact_solution.value(point, 1), 0.5);",
              "EXPECT_EQ(parameters.get_material_properties(1).Lame_mu, 5.);",
              "EXPECT_EQ(parameters.get_material_properties(1).Lame_lambda, 7.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.ParsesGeneratedConvergenceParameterFixture",
                "seconds": 0.035,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "ExactSolutionAndErrorObservation",
            "macro": "TEST",
            "source_line": 240,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_DOUBLE_EQ(parameters.exact_solution.value(point, 0), 0.25);",
              "EXPECT_DOUBLE_EQ(parameters.exact_solution.value(point, 1), 0.5);",
              "EXPECT_DOUBLE_EQ(other_parameters.exact_solution.value(point, 0), 0.25);",
              "EXPECT_DOUBLE_EQ(other_parameters.exact_solution.value(point, 1), 0.5);",
              "EXPECT_NE(table_output.str().find(\"displacement_L2_norm\"), std::string::npos);",
              "EXPECT_NE(table_output.str().find(\"displacement_H1_seminorm\"),",
              "EXPECT_LT(l2_error, 1.e-12);",
              "EXPECT_LT(h1_seminorm_error, 1.e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.ExactSolutionAndErrorObservation",
                "seconds": 0.057,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "MaterialPropertiesById",
            "macro": "TEST",
            "source_line": 324,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_DOUBLE_EQ(parameters.get_material_properties(0).Lame_mu, 2.);",
              "EXPECT_DOUBLE_EQ(parameters.get_material_properties(0).Lame_lambda, 3.);",
              "EXPECT_DOUBLE_EQ(parameters.get_material_properties(1).Lame_mu, 5.);",
              "EXPECT_DOUBLE_EQ(parameters.get_material_properties(1).Lame_lambda, 7.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.MaterialPropertiesById",
                "seconds": 0.023,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "FileMeshSetup",
            "macro": "TEST",
            "source_line": 353,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(problem.triangulation().n_global_active_cells(), 0U);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.FileMeshSetup",
                "seconds": 0.066,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblemValidation",
            "name": "LinearAdapterSolve",
            "macro": "TEST",
            "source_line": 382,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_LT(accepted_difference.l2_norm(), 1.e-12);",
              "EXPECT_TRUE(std::isfinite(problem.solution().l2_norm()));",
              "EXPECT_GT(problem.solution().l2_norm(), 0.);",
              "EXPECT_LT(residual.l2_norm(), 1.e-8);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "ParsedBodyForceAndNonzeroDirichlet",
            "macro": "TEST",
            "source_line": 428,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(has_nonzero_dirichlet);",
              "EXPECT_GT(problem.forcing().l2_norm(), 0.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.ParsedBodyForceAndNonzeroDirichlet",
                "seconds": 0.032,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "ParsedNeumannTraction",
            "macro": "TEST",
            "source_line": 460,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(parameters.neumann_ids, (std::set<dealii::types::boundary_id>{0}));",
              "EXPECT_DOUBLE_EQ(parameters.neumann_bc.value(dealii::Point<2>(0.5, 1.), 0),",
              "EXPECT_GT(boundary_zero_faces, 0U);",
              "EXPECT_GT(problem.forcing().l2_norm(), 0.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.ParsedNeumannTraction",
                "seconds": 0.037,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "BoundarySpecificDirichletConstraints",
            "macro": "TEST",
            "source_line": 499,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(line.inhomogeneity, point[0], 1.e-12);",
              "EXPECT_GT(std::abs(line.inhomogeneity - point[1]), 1.e-12);",
              "EXPECT_NEAR(line.inhomogeneity, point[1], 1.e-12);",
              "EXPECT_GT(std::abs(line.inhomogeneity - point[0]), 1.e-12);",
              "EXPECT_TRUE(found_boundary_zero_x);",
              "EXPECT_TRUE(found_boundary_three_y);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.BoundarySpecificDirichletConstraints",
                "seconds": 0.032,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "BoundarySpecificNeumannOracle",
            "macro": "TEST",
            "source_line": 571,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_LT(expected.linfty_norm(), 1.e-11);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.BoundarySpecificNeumannOracle",
                "seconds": 0.034,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "MaterialSpecificRHS",
            "macro": "TEST",
            "source_line": 629,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_LT(cell->material_id(), 2U);",
              "EXPECT_LT(expected.linfty_norm(), 1.e-11);",
              "EXPECT_DOUBLE_EQ(parameters.get_rhs(2).value(dealii::Point<2>(), 0), 3.);",
              "EXPECT_DOUBLE_EQ(parameters.get_rhs(2).value(dealii::Point<2>(), 1), 4.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.MaterialSpecificRHS",
                "seconds": 0.032,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblem",
            "name": "IndependentResidualOracle",
            "macro": "TEST",
            "source_line": 706,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_LT(residual.l2_norm(), 1.e-8);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.IndependentResidualOracle",
                "seconds": 0.039,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              }
            ]
          },
          {
            "suite": "ElasticStaticProblemValidation",
            "name": "DistributedRefinement",
            "macro": "TEST",
            "source_line": 744,
            "action": "consolidate",
            "reason": "Serial and MPI wrappers invoke the identical helper and assertions; one BOTH_ identity preserves both process modes without duplicate source cases.",
            "replacement": [
              "ElasticStaticProblemValidation.BOTH_DistributedRefinement"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticStaticProblemValidation",
            "name": "FullyDistributedRefinement",
            "macro": "TEST",
            "source_line": 749,
            "action": "consolidate",
            "reason": "Serial and MPI wrappers invoke the identical helper and assertions; one BOTH_ identity preserves both process modes without duplicate source cases.",
            "replacement": [
              "ElasticStaticProblemValidation.BOTH_FullyDistributedRefinement"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticStaticProblemValidation",
            "name": "MPI_DistributedRefinement",
            "macro": "TEST",
            "source_line": 754,
            "action": "consolidate",
            "reason": "Serial and MPI wrappers invoke the identical helper and assertions; one BOTH_ identity preserves both process modes without duplicate source cases.",
            "replacement": [
              "ElasticStaticProblemValidation.BOTH_DistributedRefinement"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticStaticProblemValidation",
            "name": "MPI_FullyDistributedRefinement",
            "macro": "TEST",
            "source_line": 759,
            "action": "consolidate",
            "reason": "Serial and MPI wrappers invoke the identical helper and assertions; one BOTH_ identity preserves both process modes without duplicate source cases.",
            "replacement": [
              "ElasticStaticProblemValidation.BOTH_FullyDistributedRefinement"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticStaticBackendTest",
            "name": "MPI_BackendSetupAndOutput",
            "macro": "TEST_P",
            "source_line": 767,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(problem.triangulation().n_active_cells(), 0U);",
              "EXPECT_TRUE(std::isfinite(image.l2_norm()));",
              "ASSERT_TRUE(std::filesystem::exists(output_directory));",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(has_vtk_output);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticStaticProblemValidation",
            "name": "MPI_DistributedOutputRecordsEveryRefinementCycle",
            "macro": "TEST",
            "source_line": 819,
            "action": "keep",
            "reason": "Material/boundary-specific assembly, independent residual and Neumann quadrature, FE overrides, mesh lifecycle, refinement rejection and output metadata.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(std::filesystem::exists(output_directory));",
              "EXPECT_TRUE(",
              "EXPECT_TRUE(std::filesystem::exists(filename + \".vtu\") ||"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elastic_static_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "7c81cc463f6406ec1580678a47f684ced50836bd906b503362ae3200c40f69a8",
      "candidate_source_sha256": "7c81cc463f6406ec1580678a47f684ced50836bd906b503362ae3200c40f69a8",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Native quadratic exact solution on imported simplex mesh, with explicit unsupported error-observation behavior.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "ElasticStaticProblem",
            "name": "BOTH_SimplexQuadraticSolution",
            "macro": "TEST",
            "source_line": 97,
            "action": "keep",
            "reason": "Native quadratic exact solution on imported simplex mesh, with explicit unsupported error-observation behavior.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Native quadratic exact solution on imported simplex mesh, with explicit unsupported error-observation behavior.",
            "ci_debug_observations": [
              {
                "test": "ElasticStaticProblem.BOTH_SimplexQuadraticSolution",
                "seconds": 0.433,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticStaticProblem"
              },
              {
                "test": "ElasticStaticProblem.BOTH_SimplexQuadraticSolution",
                "seconds": 0.344,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticStaticProblem"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "8759180e3c881f208c922b4180e4399df285687cd6413eb15edf8719e213c75d",
      "candidate_source_sha256": "957c6a583d20b4fbf2ca50f9200b71903df1cdeda90eebb7568683fea6f8a22b",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
        "reviewed_macro_occurrences": 9,
        "cases": [
          {
            "suite": "Elasticity01TriangulationTypeTest",
            "name": "MPI_DisplacementX",
            "macro": "TEST_P",
            "source_line": 76,
            "action": "keep",
            "reason": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).linfty_norm(),"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elasticity01TriangulationTypeTest",
            "name": "MPI_DisplacementY",
            "macro": "TEST_P",
            "source_line": 117,
            "action": "keep",
            "reason": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).linfty_norm(),"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elasticity01TriangulationTypeTest",
            "name": "MPI_DisplacementXScaled",
            "macro": "TEST_P",
            "source_line": 158,
            "action": "keep",
            "reason": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).linfty_norm(), .1, 2e-1);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elasticity01TriangulationTypeTest",
            "name": "MPI_DisplacementYScaled",
            "macro": "TEST_P",
            "source_line": 204,
            "action": "keep",
            "reason": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).linfty_norm(), 0.1, 2e-1);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elasticity01TriangulationTypeTest",
            "name": "BOTH_CheckInclusionMatrix",
            "macro": "TEST_P",
            "source_line": 243,
            "action": "keep",
            "reason": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(problem.inclusion_matrix.m(), expected_data.size());",
              "ASSERT_EQ(problem.inclusion_matrix.n(), expected_data.size());",
              "EXPECT_NEAR(problem.inclusion_matrix.el(row, column), expected, 1e-12)",
              "EXPECT_NEAR(coefficients[row], expected_data[row], 1e-8) << \"mode \" << row;"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elasticity01TriangulationTypeTest",
            "name": "MPI_Rotation3D",
            "macro": "TEST_P",
            "source_line": 307,
            "action": "keep",
            "reason": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problemX.solution.block(0).l2_norm(),",
              "ASSERT_NEAR(problemX.solution.block(1).l2_norm(),"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elasticity01TriangulationTypeTest",
            "name": "MPI_Displacement3D",
            "macro": "TEST_P",
            "source_line": 374,
            "action": "keep",
            "reason": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).l2_norm(), 1.5702749920365155, tol);",
              "ASSERT_NEAR(problem.solution.block(1).l2_norm(), 93.997480822339128, tol);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elasticity01TriangulationTypeTest",
            "name": "BOTH_Displacement3D_wSegments",
            "macro": "TEST_P",
            "source_line": 449,
            "action": "keep",
            "reason": "Native point-inclusion displacement, rotation, matrix entries, segment clustering and backend contracts; large duplicated paper reproduction is removed.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).l2_norm(), 1.5590870045296064, tol);",
              "ASSERT_NEAR(problem.solution.block(1).l2_norm(), 48.097630240962374, tol);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityValidation",
            "name": "ExactLambda",
            "macro": "TEST",
            "source_line": 524,
            "action": "remove",
            "reason": "Duplicate six-cycle 2D paper reproduction: same physical setup and final error data as adaptive paper test; preserve published per-cycle errors on two representative cycles, global multipliers and independent analytical stress-pressure relation.",
            "replacement": [
              "ElasticityValidation.BOTH_PaperAxisSymmetricGlobalRegression",
              "ElasticityValidation.BOTH_PaperAxisSymmetricAdaptiveRegression",
              "ElasticityValidation.BOTH_PaperAxisSymmetricPressure"
            ],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).l2_norm(), 7.5520240146374107, tol);",
              "ASSERT_NEAR(problem.solution.block(1).l2_norm(), 5.5728, tol);",
              "ASSERT_NEAR(problem.solution.block(1)[0], theoretical_lambda, 1e-1);",
              "ASSERT_TRUE(table);",
              "EXPECT_LT(l2, 1.9e-4);",
              "EXPECT_LT(linfty, 8.6e-4);",
              "EXPECT_LT(h1, 2.25e-2);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_02.cc",
      "review_category": "physics",
      "baseline_source_sha256": "12dd807512cffa105779bc212706e5293c1031ab37c2a71e8ee209900257080a",
      "candidate_source_sha256": "12dd807512cffa105779bc212706e5293c1031ab37c2a71e8ee209900257080a",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Several point inclusions in one bulk cell, with distinct low/high material coefficients and distributed backend coverage.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "Elasticity02TriangulationTypeTest",
            "name": "MPI_TwoInclusionsInCell",
            "macro": "TEST_P",
            "source_line": 72,
            "action": "keep",
            "reason": "Several point inclusions in one bulk cell, with distinct low/high material coefficients and distributed backend coverage.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).l2_norm(), 0.4428809290864299, tol);",
              "ASSERT_NEAR(problem.solution.block(1).l2_norm(), 5.3017555778186747, tol);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elasticity02TriangulationTypeTest",
            "name": "MPI_MultiInclusionsInCell",
            "macro": "TEST_P",
            "source_line": 139,
            "action": "keep",
            "reason": "Several point inclusions in one bulk cell, with distinct low/high material coefficients and distributed backend coverage.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NEAR(problem.solution.block(0).l2_norm(), 5.5035583956728171, tol);",
              "ASSERT_NEAR(problem.solution.block(1).l2_norm(), 29.819214852051616, tol);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_03.cc",
      "review_category": "physics",
      "baseline_source_sha256": "da887bb252b60d343260558ada786365f796a63d7b49bddbf04b6ed71370ea96",
      "candidate_source_sha256": "da887bb252b60d343260558ada786365f796a63d7b49bddbf04b6ed71370ea96",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
        "reviewed_macro_occurrences": 14,
        "cases": [
          {
            "suite": "ElasticityProblem",
            "name": "RigidBodyMotion2DModes",
            "macro": "TEST",
            "source_line": 152,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(translation_x.n_components, 2u);",
              "EXPECT_DOUBLE_EQ(translation_x.value(p, 0), 1.0);",
              "EXPECT_DOUBLE_EQ(translation_x.value(p, 1), 0.0);",
              "EXPECT_DOUBLE_EQ(translation_y.value(p, 0), 0.0);",
              "EXPECT_DOUBLE_EQ(translation_y.value(p, 1), 1.0);",
              "EXPECT_DOUBLE_EQ(rotation.value(p, 0), -p[1]);",
              "EXPECT_DOUBLE_EQ(rotation.value(p, 1), p[0]);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.RigidBodyMotion2DModes",
                "seconds": 0.0,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "RigidBodyMotion3DModes",
            "macro": "TEST",
            "source_line": 171,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_DOUBLE_EQ(translation.value(p, c), (c == mode) ? 1.0 : 0.0);",
              "EXPECT_DOUBLE_EQ(rotation.value(p, c), expected_rotations[r][c]);",
              "EXPECT_NEAR(tangential, 0.0, 1e-15);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.RigidBodyMotion3DModes",
                "seconds": 0.0,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "BOTH_StiffnessIsSymmetricWithRigidBodyKernel",
            "macro": "TEST",
            "source_line": 202,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_LT(vmult(A, rigid_body_mode(problem, mode)).linfty_norm(), 1e-12)",
              "EXPECT_NEAR(vmult(A, x) * y, x * vmult(A, y), 1e-12 * A.frobenius_norm());",
              "EXPECT_GT(vmult(A, x) * x, 0.0);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.BOTH_StiffnessIsSymmetricWithRigidBodyKernel",
                "seconds": 0.103,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticityProblem"
              },
              {
                "test": "ElasticityProblem.BOTH_StiffnessIsSymmetricWithRigidBodyKernel",
                "seconds": 0.084,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "BOTH_PointCouplingQueriesReflectInclusions",
            "macro": "TEST",
            "source_line": 224,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_FALSE(problem.uses_tensor_product_coupling());",
              "EXPECT_FALSE(problem.has_immersed_coupling());",
              "EXPECT_EQ(problem.n_multiplier_dofs(), 0u);",
              "EXPECT_EQ(problem.solution.block(1).size(), 0u);",
              "EXPECT_FALSE(problem.uses_tensor_product_coupling());",
              "EXPECT_TRUE(problem.has_immersed_coupling());",
              "EXPECT_EQ(problem.n_multiplier_components_per_coupling_dof(), 6u);",
              "EXPECT_EQ(problem.n_multiplier_dofs(), 12u);",
              "EXPECT_EQ(problem.solution.block(1).size(), 12u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.BOTH_PointCouplingQueriesReflectInclusions",
                "seconds": 0.138,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticityProblem"
              },
              {
                "test": "ElasticityProblem.BOTH_PointCouplingQueriesReflectInclusions",
                "seconds": 0.107,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "BOTH_PointCouplingAveragesDisplacementOverInclusion",
            "macro": "TEST",
            "source_line": 262,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(section_measure, numbers::PI, 1e-14);",
              "EXPECT_NEAR(mean[i], expected[i], 1e-12) << \"rigid body mode \" << mode;",
              "EXPECT_NEAR(problem.inclusion_matrix.diag_element(i),",
              "EXPECT_NEAR(g[i], (i == 0) ? 0.1 : -0.2, 1e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.BOTH_PointCouplingAveragesDisplacementOverInclusion",
                "seconds": 0.09,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticityProblem"
              },
              {
                "test": "ElasticityProblem.BOTH_PointCouplingAveragesDisplacementOverInclusion",
                "seconds": 0.068,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "BOTH_SaddlePointSolutionSatisfiesBothEquations",
            "macro": "TEST",
            "source_line": 309,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_LT(momentum_residual.l2_norm(), 1e-8 * f.l2_norm());",
              "EXPECT_LT(constraint_residual.l2_norm(), 1e-8 * g.l2_norm());",
              "EXPECT_GT(lambda.l2_norm(), 0.0);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.BOTH_SaddlePointSolutionSatisfiesBothEquations",
                "seconds": 0.277,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticityProblem"
              },
              {
                "test": "ElasticityProblem.BOTH_SaddlePointSolutionSatisfiesBothEquations",
                "seconds": 0.195,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "BOTH_RefinementTransfersAffineSolutionExactly",
            "macro": "TEST",
            "source_line": 360,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(problem.tria->n_global_active_cells(), 4 * n_cells_before);",
              "EXPECT_GT(problem.tria->n_global_active_cells(), n_cells_before);",
              "EXPECT_EQ(problem.solution.block(0).size(), problem.dh.n_dofs());",
              "EXPECT_LT(max_difference(problem.solution.block(0),"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.BOTH_RefinementTransfersAffineSolutionExactly",
                "seconds": 0.211,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticityProblem"
              },
              {
                "test": "ElasticityProblem.BOTH_RefinementTransfersAffineSolutionExactly",
                "seconds": 0.173,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "BOTH_InclusionsRefinementStrategyStopsCycles",
            "macro": "TEST",
            "source_line": 399,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(problem.tria->n_global_active_cells(), n_cells_before);",
              "EXPECT_EQ(problem.cycle, 3u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.BOTH_InclusionsRefinementStrategyStopsCycles",
                "seconds": 0.097,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticityProblem"
              },
              {
                "test": "ElasticityProblem.BOTH_InclusionsRefinementStrategyStopsCycles",
                "seconds": 0.085,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "BOTH_FullyDistributedBackendRejectsRefinement",
            "macro": "TEST",
            "source_line": 422,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_FALSE(problem.uses_fully_distributed_triangulation());",
              "EXPECT_TRUE(problem.uses_fully_distributed_triangulation());",
              "EXPECT_EQ(problem.tria->n_global_active_cells(), 16u);",
              "EXPECT_THROW(problem.refine_and_transfer(), ExceptionBase);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.BOTH_FullyDistributedBackendRejectsRefinement",
                "seconds": 0.08,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticityProblem"
              },
              {
                "test": "ElasticityProblem.BOTH_FullyDistributedBackendRejectsRefinement",
                "seconds": 0.074,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "ElasticityProblem",
            "name": "BOTH_OutputSolutionFileNameEncodesCycleAndTimeStep",
            "macro": "TEST",
            "source_line": 448,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(filename, name + \"_3.vtu\");",
              "EXPECT_TRUE(std::filesystem::exists(par.output_directory + \"/\" + filename));",
              "ASSERT_EQ(par.time_mode, TimeMode::Dynamic);",
              "EXPECT_EQ(filename, name + \"_1_007.vtu\");",
              "EXPECT_TRUE(std::filesystem::exists(par.output_directory + \"/\" + filename));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityProblem.BOTH_OutputSolutionFileNameEncodesCycleAndTimeStep",
                "seconds": 0.201,
                "rank": 0,
                "group": "ImmersX_integration_MPI_ElasticityProblem"
              },
              {
                "test": "ElasticityProblem.BOTH_OutputSolutionFileNameEncodesCycleAndTimeStep",
                "seconds": 0.166,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityProblem"
              }
            ]
          },
          {
            "suite": "Inclusion3",
            "name": "CheckVesselDirectionsAcceptsParallelDirections",
            "macro": "TEST",
            "source_line": 527,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NO_THROW(initialize_inclusions_with_directions("
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Inclusion3.CheckVesselDirectionsAcceptsParallelDirections",
                "seconds": 0.002,
                "rank": null,
                "group": "ImmersX_unit_Serial"
              }
            ]
          },
          {
            "suite": "Inclusion3",
            "name": "CheckVesselDirectionsAcceptsDifferentVessels",
            "macro": "TEST",
            "source_line": 533,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NO_THROW(initialize_inclusions_with_directions("
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Inclusion3.CheckVesselDirectionsAcceptsDifferentVessels",
                "seconds": 0.002,
                "rank": null,
                "group": "ImmersX_unit_Serial"
              }
            ]
          },
          {
            "suite": "Inclusion3",
            "name": "CheckVesselDirectionsRejectsNonParallelDirections",
            "macro": "TEST",
            "source_line": 539,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_ANY_THROW(initialize_inclusions_with_directions("
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Inclusion3.CheckVesselDirectionsRejectsNonParallelDirections",
                "seconds": 0.002,
                "rank": null,
                "group": "ImmersX_unit_Serial"
              }
            ]
          },
          {
            "suite": "Inclusion3",
            "name": "CheckVesselDirectionsRejectsOppositeDirections",
            "macro": "TEST",
            "source_line": 545,
            "action": "keep",
            "reason": "Rigid-body modes/kernel, point coupling, both saddle equations, affine refinement transfer, backend rejection and output naming.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_ANY_THROW(initialize_inclusions_with_directions("
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Inclusion3.CheckVesselDirectionsRejectsOppositeDirections",
                "seconds": 0.002,
                "rank": null,
                "group": "ImmersX_unit_Serial"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_04.cc",
      "review_category": "physics",
      "baseline_source_sha256": "1908c75fdbb8021f7f40116332f6d030210f66b433629df10b90147db0cb8469",
      "candidate_source_sha256": "0259f4ee21bb09ed741121c9d43a35ac9f6ea418d38f27e73e7c41309d281030",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Independent published Lame/displacement/multiplier reference values; keep representative meshes and mode count instead of full parameter/convergence studies.",
        "reviewed_macro_occurrences": 4,
        "cases": [
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_PaperAxisSymmetricGlobalConvergence",
            "macro": "TEST",
            "source_line": 59,
            "action": "reduce",
            "reason": "Keep first two published global-mesh records, all displacement/multiplier error checks and monotonicity, omit large 10k/41k/164k DoF tail.",
            "replacement": [
              "ElasticityValidation.BOTH_PaperAxisSymmetricGlobalRegression"
            ],
            "direct_oracle_assertions": [
              "EXPECT_EQ(dofs, reference[0]);",
              "EXPECT_NEAR(l2, reference[1], 1e-3 * reference[1]);",
              "EXPECT_NEAR(linfty, reference[2], 1e-3 * reference[2]);",
              "EXPECT_NEAR(h1, reference[3], 1e-3 * reference[3]);",
              "EXPECT_NEAR(lambda_1x + lambda_2y,",
              "EXPECT_NEAR(lambda_1x, lambda_2y, 1e-6 * std::abs(lambda_1x));",
              "EXPECT_LT(lambda_error, previous_lambda_error);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_PaperAxisSymmetricAdaptiveRefinement",
            "macro": "TEST",
            "source_line": 137,
            "action": "reduce",
            "reason": "Keep first two published adaptive records: exact cells, DoFs and all L2/Linf/H1 values. Last-cycle multiplier of the omitted sixth cycle is covered by separate analytical pressure and global multiplier regressions.",
            "replacement": [
              "ElasticityValidation.BOTH_PaperAxisSymmetricAdaptiveRegression"
            ],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(table);",
              "EXPECT_EQ(cells, reference[0]);",
              "EXPECT_EQ(dofs, reference[1]);",
              "EXPECT_NEAR(l2, reference[2], 1e-3 * reference[2]);",
              "EXPECT_NEAR(linfty, reference[3], 1e-3 * reference[3]);",
              "EXPECT_NEAR(h1, reference[4], 1e-3 * reference[4]);",
              "EXPECT_NEAR(lambda_1x + lambda_2y, last_lambda, 1e-3 * std::abs(last_lambda));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_PaperAxisSymmetricPressure",
            "macro": "TEST",
            "source_line": 206,
            "action": "consolidate",
            "reason": "One solve for both pressure observations. Q2base1280cells with local refinement only in particle-crossed circle cells gives11778DoFs, replacing uniformQ1ref6/41218DoFs. All three original analytic assertions pass unchanged:1.13percent stress error under2percent bound; Debugwall7.15sserial/4.85sMPI.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(p.size(), 1u);",
              "EXPECT_NEAR(jump, outside - inside, tolerance);",
              "EXPECT_NEAR(tissue - jump, inside, 1e-10 * inside);",
              "EXPECT_NEAR(tissue, outside, tolerance);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_PaperHigherOrderModes",
            "macro": "TEST",
            "source_line": 290,
            "action": "reduce",
            "reason": "Keep a representative multi-mode three-inclusion configuration (radius0.1,N4) and every published norm/share/truncation assertion; omit 20 redundant parameter-study rows.",
            "replacement": [
              "ElasticityValidation.BOTH_PaperHigherOrderModesRegression"
            ],
            "direct_oracle_assertions": [
              "ASSERT_EQ(n, 2 * reference.highest_mode - 2);",
              "EXPECT_NEAR(norm2, reference.norm, 1e-2 * reference.norm);",
              "EXPECT_NEAR(share_1x, reference.share_1x, 0.5);",
              "EXPECT_NEAR(share_2y, reference.share_2y, 0.5);",
              "EXPECT_NEAR(truncation, reference.e, reference.e + 0.05);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_coupling_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "2c30e322b4a290d3d1018304acab9cbab8fd0d7abe4f55bffcb3808950d88cd5",
      "candidate_source_sha256": "2c30e322b4a290d3d1018304acab9cbab8fd0d7abe4f55bffcb3808950d88cd5",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Coupling selector parsing and explicit unavailable-VTK rejection.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "ElasticityCouplingParameters",
            "name": "ParseCouplingSelector",
            "macro": "TEST",
            "source_line": 9,
            "action": "keep",
            "reason": "Coupling selector parsing and explicit unavailable-VTK rejection.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NO_THROW(ParameterAcceptor::parse_all_parameters());",
              "EXPECT_EQ(par.coupling_type, CouplingType::TensorProduct);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityCouplingParameters.ParseCouplingSelector",
                "seconds": 0.029,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityCouplingParameters"
              }
            ]
          },
          {
            "suite": "ElasticityCoupling",
            "name": "TensorProductIsDisabledWithoutVTK",
            "macro": "TEST",
            "source_line": 35,
            "action": "keep",
            "reason": "Coupling selector parsing and explicit unavailable-VTK rejection.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_FALSE(problem.uses_tensor_product_coupling());",
              "EXPECT_EQ(problem.n_multiplier_dofs(), 0u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_coupling_parameter_file_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "1264482120d83bd8e4a1e77caed726126b148f63b7d07df5396294eec9ae4fd4",
      "candidate_source_sha256": "1264482120d83bd8e4a1e77caed726126b148f63b7d07df5396294eec9ae4fd4",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Generated 2D parameter-file schema: selector, RHS components and reduced-grid name.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "ElasticityCouplingParameters",
            "name": "ParseParameterFile",
            "macro": "TEST",
            "source_line": 10,
            "action": "keep",
            "reason": "Generated 2D parameter-file schema: selector, RHS components and reduced-grid name.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NO_THROW(initialize_parameters(ImmersX::TestPaths::data_filename(",
              "EXPECT_EQ(par.coupling_type, CouplingType::TensorProduct);",
              "EXPECT_EQ(",
              "EXPECT_FALSE(par.tensor_product_coupling_parameters"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityCouplingParameters.ParseParameterFile",
                "seconds": 0.039,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityCouplingParameters"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_explicit_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "c77bb0c451cc3efbf99b14bbe32ca55fc0a1610b26311d6c132a2fedff168cb7",
      "candidate_source_sha256": "c77bb0c451cc3efbf99b14bbe32ca55fc0a1610b26311d6c132a2fedff168cb7",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Exact forced translation under explicit dynamics and rejection of unsupported simplex degree.",
        "reviewed_macro_occurrences": 3,
        "cases": [
          {
            "suite": "ElasticityExplicitValidation",
            "name": "BOTH_SimplexForcedTranslation",
            "macro": "TEST",
            "source_line": 84,
            "action": "keep",
            "reason": "Exact forced translation under explicit dynamics and rejection of unsupported simplex degree.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact forced translation under explicit dynamics and rejection of unsupported simplex degree.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityExplicitValidation",
            "name": "BOTH_HypercubeForcedTranslation",
            "macro": "TEST",
            "source_line": 89,
            "action": "keep",
            "reason": "Exact forced translation under explicit dynamics and rejection of unsupported simplex degree.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact forced translation under explicit dynamics and rejection of unsupported simplex degree.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityExplicitValidation",
            "name": "BOTH_RejectsHigherSimplexDegree",
            "macro": "TEST",
            "source_line": 94,
            "action": "keep",
            "reason": "Exact forced translation under explicit dynamics and rejection of unsupported simplex degree.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NE(std::string(error.what()).find(\"FE degree 1\"),"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_freq_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "5aa27b88abd0683a1fe7e3fc27b339d12c28a04a43e5242b9f15ac6bcee781ec",
      "candidate_source_sha256": "3f49d38bba62a61f119e6151f7e8d8b6f1fbf409c462e69c873438f0ddbee481",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "before_cases": [
          "ElasticityFreq.BOTH_Dimensions",
          "ElasticityFreq.BOTH_IndependentParameterSubsections",
          "ElasticityFreq.BOTH_DampedRigidTranslation",
          "ElasticityFreq.BOTH_AdapterAffineDisplacement",
          "ElasticityFreq.BOTH_SimplexAdapterAffineDisplacement",
          "ElasticityFreq.BOTH_RefinementParameterRoundTrip"
        ],
        "after_cases": [
          "ElasticityFreq.BOTH_Dimensions",
          "ElasticityFreq.BOTH_IndependentParameterSubsections",
          "ElasticityFreq.BOTH_DampedRigidTranslation",
          "ElasticityFreq.BOTH_AdapterAffineDisplacement",
          "ElasticityFreq.BOTH_SimplexAdapterAffineDisplacement",
          "ElasticityFreq.BOTH_ZeroMaterialPreservesInhomogeneousConstraints",
          "ElasticityFreq.BOTH_RefinementParameterRoundTrip"
        ],
        "review_decision": "Reduce affine exact-solution meshes from refinement 2 to 1; retain all six dimension pairs, native frequency run, phase/nonzero boundary data, parameter isolation and round-trip checks. Add one sub-second regression, both serial and MPI, for fully constrained nonzero phased boundary data with zero constitutive law and with a purely viscous off-diagonal law. This validates the zero-term guard without applying/distributing boundary values after solving.",
        "distinct_contracts_and_redundancy_evidence": "Native constant-force/no-essential-boundary and adapter affine/nonzero-essential-boundary tests exercise different paths. Mesh/DoF size test verifies setup layout without a solve.",
        "baseline_ci_case_seconds": {
          "ElasticityFreq.BOTH_Dimensions": 0.127,
          "ElasticityFreq.BOTH_IndependentParameterSubsections": 0.042,
          "ElasticityFreq.BOTH_DampedRigidTranslation": 0.688,
          "ElasticityFreq.BOTH_AdapterAffineDisplacement": 6.963,
          "ElasticityFreq.BOTH_SimplexAdapterAffineDisplacement": 1.864,
          "ElasticityFreq.BOTH_RefinementParameterRoundTrip": 0.07
        },
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/elasticity_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "43bb365ed1bd0a6eecd02ceba198918a7f22f25a993a4817afcc5466b9c7be97",
      "candidate_source_sha256": "43bb365ed1bd0a6eecd02ceba198918a7f22f25a993a4817afcc5466b9c7be97",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Exact quadratic native elasticity with strong/weak constraints and both reference-cell families.",
        "reviewed_macro_occurrences": 3,
        "cases": [
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_SimplexQuadraticStrongBoundary",
            "macro": "TEST",
            "source_line": 93,
            "action": "keep",
            "reason": "Exact quadratic native elasticity with strong/weak constraints and both reference-cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact quadratic native elasticity with strong/weak constraints and both reference-cell families.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_SimplexQuadraticWeakBoundary",
            "macro": "TEST",
            "source_line": 98,
            "action": "keep",
            "reason": "Exact quadratic native elasticity with strong/weak constraints and both reference-cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact quadratic native elasticity with strong/weak constraints and both reference-cell families.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_HypercubeQuadraticBoundary",
            "macro": "TEST",
            "source_line": 103,
            "action": "keep",
            "reason": "Exact quadratic native elasticity with strong/weak constraints and both reference-cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact quadratic native elasticity with strong/weak constraints and both reference-cell families.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_tensor_product_coupling_3d_parameter_file_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "5a384fd4cf77bd3579cc71f4c46de7f03f482cb13f2239bcdf4b298dcf9eb868",
      "candidate_source_sha256": "5a384fd4cf77bd3579cc71f4c46de7f03f482cb13f2239bcdf4b298dcf9eb868",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Native 3D coupling parses generated schema and reaches independent reference displacement.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "ElasticityCoupling",
            "name": "MPI_ThreeDimensionalParameterFile",
            "macro": "TEST",
            "source_line": 13,
            "action": "keep",
            "reason": "Native 3D coupling parses generated schema and reaches independent reference displacement.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(initialize_parameters(ImmersX::TestPaths::data_filename(",
              "ASSERT_EQ(par.coupling_type, CouplingType::TensorProduct);",
              "ASSERT_NO_THROW(problem.run());",
              "ASSERT_EQ(problem.solution.n_blocks(), 2u);",
              "EXPECT_NEAR(problem.solution.block(0).linfty_norm(), 1.067e-1, 5.e-3);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_tensor_product_coupling_construction_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "d440b669dae3cb0863460801c3f63950c9375cbb3fe18a323bdea29c5d3f1d25",
      "candidate_source_sha256": null,
      "candidate_file_present": false,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Setup-only smoke fully subsumed by native tensor-product integration setup and assembly checks.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "ElasticityCouplingConstruction",
            "name": "BuildsWithTensorProductCoupling",
            "macro": "TEST",
            "source_line": 8,
            "action": "remove",
            "reason": "Only make_grid/setup_fe nonthrowing; retained integration tests execute both plus DoF/coupling assembly and numerical assertions.",
            "replacement": [
              "ElasticityCouplingIntegration.SetupCreatesTensorProductMultiplierBlock",
              "ElasticityCouplingIntegration.AssemblyProducesTensorProductRhs"
            ],
            "direct_oracle_assertions": [
              "EXPECT_NO_THROW(problem.make_grid());",
              "EXPECT_NO_THROW(problem.setup_fe());"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityCouplingConstruction.BuildsWithTensorProductCoupling",
                "seconds": 0.034,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityCouplingConstruction"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_tensor_product_coupling_integration_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "796c06bc492016882d5eb94c2053fcba1ea0eb55bce1a873432ca908d9a93553",
      "candidate_source_sha256": "796c06bc492016882d5eb94c2053fcba1ea0eb55bce1a873432ca908d9a93553",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Tensor-product setup/RHS, static solve, locally refined dynamic constraints and discrete Newmark velocity data.",
        "reviewed_macro_occurrences": 6,
        "cases": [
          {
            "suite": "ElasticityCouplingIntegration",
            "name": "SetupCreatesTensorProductMultiplierBlock",
            "macro": "TEST",
            "source_line": 59,
            "action": "keep",
            "reason": "Tensor-product setup/RHS, static solve, locally refined dynamic constraints and discrete Newmark velocity data.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.setup_dofs());",
              "ASSERT_TRUE(problem.tensor_product_coupling != nullptr);",
              "EXPECT_GT(problem.solution.block(1).size(), 0);",
              "EXPECT_EQ(problem.solution.n_blocks(), 2u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityCouplingIntegration.SetupCreatesTensorProductMultiplierBlock",
                "seconds": 0.104,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityCouplingIntegration"
              }
            ]
          },
          {
            "suite": "ElasticityCouplingIntegration",
            "name": "AssemblyProducesTensorProductRhs",
            "macro": "TEST",
            "source_line": 74,
            "action": "keep",
            "reason": "Tensor-product setup/RHS, static solve, locally refined dynamic constraints and discrete Newmark velocity data.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(problem.system_rhs.block(1).l2_norm(), 0.0);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityCouplingIntegration.AssemblyProducesTensorProductRhs",
                "seconds": 0.12,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityCouplingIntegration"
              }
            ]
          },
          {
            "suite": "ElasticityCouplingIntegrationValidation",
            "name": "StaticSolveCompletes",
            "macro": "TEST",
            "source_line": 90,
            "action": "keep",
            "reason": "Tensor-product setup/RHS, static solve, locally refined dynamic constraints and discrete Newmark velocity data.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.solve_static());",
              "EXPECT_TRUE(std::isfinite(problem.solution.block(0).l2_norm()));",
              "EXPECT_TRUE(std::isfinite(problem.solution.block(1).l2_norm()));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityCouplingIntegrationValidation",
            "name": "DynamicStrongConstraintsRemainFinite",
            "macro": "TEST",
            "source_line": 108,
            "action": "keep",
            "reason": "Tensor-product setup/RHS, static solve, locally refined dynamic constraints and discrete Newmark velocity data.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.run());",
              "EXPECT_TRUE(std::isfinite(problem.solution.block(0).l2_norm()));",
              "EXPECT_TRUE(std::isfinite(problem.solution.block(1).l2_norm()));",
              "EXPECT_LT(problem.solution.block(0).linfty_norm(), 1.e3);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityCouplingIntegrationValidation",
            "name": "BOTH_DynamicStrongConstraintsWithLocalRefinementRemainFinite",
            "macro": "TEST",
            "source_line": 134,
            "action": "keep",
            "reason": "Tensor-product setup/RHS, static solve, locally refined dynamic constraints and discrete Newmark velocity data.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.run());",
              "EXPECT_TRUE(std::isfinite(problem.solution.block(0).l2_norm()));",
              "EXPECT_TRUE(std::isfinite(problem.solution.block(1).l2_norm()));",
              "EXPECT_GT(problem.solution.block(0).linfty_norm(), 1.e-12);",
              "EXPECT_LT(problem.solution.block(0).linfty_norm(), 1.e3);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityCouplingIntegrationValidation",
            "name": "BOTH_NewmarkUsesDiscreteVelocityBoundaryData",
            "macro": "TEST",
            "source_line": 168,
            "action": "keep",
            "reason": "Tensor-product setup/RHS, static solve, locally refined dynamic constraints and discrete Newmark velocity data.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_NO_THROW(problem.run());",
              "EXPECT_TRUE(std::isfinite(problem.velocity.block(0).l2_norm()));",
              "EXPECT_TRUE(std::isfinite(problem.solution.block(0).l2_norm()));",
              "EXPECT_LT(problem.velocity.block(0).linfty_norm(), 2.);",
              "EXPECT_LT(problem.solution.block(0).linfty_norm(), 1.e-1);",
              "ASSERT_GT(nonzero_boundary_lines, 0u);",
              "EXPECT_LT(boundary_velocity_error, 1.e-3);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_tensor_product_coupling_particle_output_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "61fe73426a07788bd437a012a394cfa11897c62215e3e030b3a8fdb8d319bb83",
      "candidate_source_sha256": "61fe73426a07788bd437a012a394cfa11897c62215e3e030b3a8fdb8d319bb83",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Particle output exists after native tensor-product coupling assembly; distinct I/O contract.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "ElasticityCouplingParticleOutput",
            "name": "WritesTensorProductParticles",
            "macro": "TEST",
            "source_line": 10,
            "action": "keep",
            "reason": "Particle output exists after native tensor-product coupling assembly; distinct I/O contract.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(problem.uses_tensor_product_coupling());",
              "ASSERT_NO_THROW(problem.setup_dofs());",
              "ASSERT_TRUE(problem.tensor_product_coupling != nullptr);",
              "ASSERT_NO_THROW(problem.output_immersed_particles(filename));",
              "EXPECT_TRUE(std::filesystem::exists(filename));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "ElasticityCouplingParticleOutput.WritesTensorProductParticles",
                "seconds": 0.106,
                "rank": null,
                "group": "ImmersX_integration_Serial_ElasticityCouplingParticleOutput"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elasticity_tensor_product_coupling_point_cases_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "e4459c12358bbc7e46a41037a00b7b639ce61b4c34b8df9367c4adc9f7eaab12",
      "candidate_source_sha256": "ab9a77d28431f31858fc7d0f08a21d307face5b5a2d07133e75b36ac350eb214",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
        "reviewed_macro_occurrences": 15,
        "cases": [
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "MPI_DisplacementX",
            "macro": "TEST_P",
            "source_line": 186,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "MPI_DisplacementY",
            "macro": "TEST_P",
            "source_line": 197,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "MPI_DisplacementXScaled",
            "macro": "TEST_P",
            "source_line": 208,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "MPI_DisplacementYScaled",
            "macro": "TEST_P",
            "source_line": 220,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "MPI_RotationAboutXAndZ",
            "macro": "TEST_P",
            "source_line": 232,
            "action": "reduce",
            "reason": "3D bulk fixture refinement4→2: rotational covariance and cross-section mode normalization do not require4096bulk cells. Preserve all original norms/basis/RHS assertions and process modes.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(x_norms[0], z_norms[0], 1.e-8);",
              "EXPECT_NEAR(x_norms[1], z_norms[1], 1.e-8);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "MPI_DisplacementAlongVtkCenterline",
            "macro": "TEST_P",
            "source_line": 259,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "BOTH_DisplacementAlongVtkCenterlineWithSegmentClustering",
            "macro": "TEST_P",
            "source_line": 273,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingValidation",
            "name": "BOTH_ModesHaveUnitMaximum",
            "macro": "TEST",
            "source_line": 294,
            "action": "reduce",
            "reason": "3D bulk fixture refinement4→2: rotational covariance and cross-section mode normalization do not require4096bulk cells. Preserve all original norms/basis/RHS assertions and process modes.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(basis.size(), 2u);",
              "ASSERT_EQ(section.get_basis_mean_squares().size(), 2u);",
              "EXPECT_NEAR(basis[c].linfty_norm(), 1., 1e-12) << \"mode \" << c;",
              "EXPECT_NEAR(section.get_basis_mean_squares()[c], 0.5, 1e-2)",
              "ASSERT_GT(reduced_rhs.l2_norm(), 0.);",
              "EXPECT_LT(reduced_rhs.l2_norm(), 1e-14);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingValidation",
            "name": "ExactLambdaSingleSolve",
            "macro": "TEST",
            "source_line": 336,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "MPI_TwoSegmentsInCell",
            "macro": "TEST_P",
            "source_line": 347,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingTriangulationTypeTest",
            "name": "MPI_MultipleSegmentsInCell",
            "macro": "TEST_P",
            "source_line": 359,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingValidation",
            "name": "AdaptiveRefinementRebuildsCoupling",
            "macro": "TEST",
            "source_line": 407,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(n_cells_after_adaptive_run(2, 0), n_cells_after_adaptive_run(1, 0));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingValidation",
            "name": "CoRefinementSkipsAdaptiveRefinement",
            "macro": "TEST",
            "source_line": 416,
            "action": "keep",
            "reason": "Tensor-product native displacement/rotation, segment clustering, mode normalization, co-refinement precedence and Lame cylinder accuracy.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(n_cells_after_adaptive_run(3, 1), n_cells_after_adaptive_run(1, 1));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingValidation",
            "name": "ExactSolution",
            "macro": "TEST",
            "source_line": 650,
            "action": "remove",
            "reason": "Four-cycle 3D Lame accuracy/rate study targets142215DoFs and exceeds120s locally beforefinishing42735DoFs. User explicitly excludes such scalability studies from regression. Fine-grid absolute L2/Linf/H1 bounds and rate oracle are removed, not claimed as equivalent coverage; retained coarse point/tensor comparison preserves the analytic wall trace and point/tensor norm parity.",
            "replacement": [
              "ElasticityTensorProductCouplingValidation.PointAndTensorProductExactSolution"
            ],
            "direct_oracle_assertions": [
              "ASSERT_EQ(results.size(), 4u);",
              "EXPECT_GT(coarse.l2 / fine.l2, 2.);",
              "EXPECT_GT(coarse.h1 / fine.h1, 1.25);",
              "EXPECT_NEAR(fine.wall_displacement, 0.1, 3e-3);",
              "EXPECT_LT(fine.l2, 8.2e-3);",
              "EXPECT_LT(fine.linfty, 7.0e-3);",
              "EXPECT_LT(fine.h1, 0.235);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElasticityTensorProductCouplingValidation",
            "name": "PointAndTensorProductExactSolution",
            "macro": "TEST",
            "source_line": 672,
            "action": "reduce",
            "reason": "Replace112s two-cycle3Dstudy with one675DoFmesh per formulation,32point inclusions,100angular points and8axialGauss repetitions; final diagnostics only. Preserve identical wall-trace and point/tensor norm-parity oracles. Adaptive lifecycle remains in its two dedicated tests. NewDebugwall5.68s,Release1.20s.",
            "replacement": [
              "ElasticityTensorProductCouplingValidation.PointAndTensorProductAgreeWithAnalyticWallTrace"
            ],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(point.wall_displacement, 0.1, 1e-3);",
              "EXPECT_NEAR(tensor.wall_displacement, 0.1, 1e-3);",
              "EXPECT_NEAR(tensor.l2, point.l2, 0.1 * point.l2);",
              "EXPECT_NEAR(tensor.linfty, point.linfty, 0.1 * point.linfty);",
              "EXPECT_NEAR(tensor.h1, point.h1, 0.1 * point.h1);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elastodynamics_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "fa46dcf7b9cff873511413feb5ffbf875a364de0da0ff1e068d6cdb6c183092f",
      "candidate_source_sha256": "fa46dcf7b9cff873511413feb5ffbf875a364de0da0ff1e068d6cdb6c183092f",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
        "reviewed_macro_occurrences": 15,
        "cases": [
          {
            "suite": "Elastodynamics",
            "name": "ParameterParsing",
            "macro": "TEST",
            "source_line": 89,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(parameters.fe_degree, 2u);",
              "EXPECT_DOUBLE_EQ(material.density, 2.5);",
              "EXPECT_DOUBLE_EQ(material.lame_mu, 3.0);",
              "EXPECT_DOUBLE_EQ(material.lame_lambda, 4.0);",
              "EXPECT_DOUBLE_EQ(material.rayleigh_alpha, 0.2);",
              "EXPECT_DOUBLE_EQ(material.rayleigh_beta, 0.1);",
              "EXPECT_DOUBLE_EQ(material.viscosity_eta, 0.3);",
              "EXPECT_EQ(parameters.fixed_step_parameters.number_of_steps, 1u);",
              "EXPECT_DOUBLE_EQ(parameters.body_force.value(Point<2>(), 0), 1.0);",
              "EXPECT_DOUBLE_EQ(parameters.body_force.value(Point<2>(), 1), 2.0);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.ParameterParsing",
                "seconds": 0.029,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "BOTH_TaggedMaterialOperators",
            "macro": "TEST",
            "source_line": 142,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(parameters.material_parameters_by_tag.size(), 1u);",
              "EXPECT_DOUBLE_EQ(parameters.get_material_properties(2).density, 5.);",
              "EXPECT_DOUBLE_EQ(parameters.get_material_properties(42).density, 2.);",
              "EXPECT_DOUBLE_EQ(parameters.get_material_properties(99).density, 2.);",
              "EXPECT_NEAR(quadratic_form<2>(problem.mass_matrix(), displacement),",
              "EXPECT_NEAR(quadratic_form<2>(problem.stiffness_matrix(), displacement),",
              "EXPECT_NEAR(quadratic_form<2>(problem.damping_matrix(), displacement),"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_TaggedMaterialOperators",
                "seconds": 0.066,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_TaggedMaterialOperators",
                "seconds": 0.054,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "RejectInvalidMaterialCoefficients",
            "macro": "TEST",
            "source_line": 216,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_THROW(initialize_parameters_from_string("
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.RejectInvalidMaterialCoefficients",
                "seconds": 0.407,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "SetupAndOperatorSymmetry",
            "macro": "TEST",
            "source_line": 244,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(problem.n_dofs(), 0u);",
              "EXPECT_EQ(problem.mass_matrix().m(), problem.n_dofs());",
              "EXPECT_EQ(problem.mass_matrix().n(), problem.n_dofs());",
              "EXPECT_EQ(problem.stiffness_matrix().m(), problem.n_dofs());",
              "EXPECT_EQ(problem.stiffness_matrix().n(), problem.n_dofs());",
              "EXPECT_TRUE(problem.state_is_finite());",
              "EXPECT_NEAR(y.l2_norm(), 0.0, 1.e-12);",
              "EXPECT_NEAR(y.l2_norm(), 0.0, 1.e-11);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.SetupAndOperatorSymmetry",
                "seconds": 0.084,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              }
            ]
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "ZeroSolutionPreservation",
            "macro": "TEST",
            "source_line": 281,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(problem.displacement().l2_norm(), 0.0, 1.e-11);",
              "EXPECT_NEAR(problem.velocity().l2_norm(), 0.0, 1.e-11);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "BOTH_MovingBoundaryDerivesVelocityConstraint",
            "macro": "TEST",
            "source_line": 304,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(value == 0. || value == 1.);",
              "EXPECT_GT(boundary_lines, 0u);",
              "EXPECT_GT(unit_lines, 0u);",
              "EXPECT_TRUE(value == 0. || value == 1.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "BOTH_RefinementCyclesAdvanceSequentially",
            "macro": "TEST",
            "source_line": 366,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(std::filesystem::exists("
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "BOTH_RefineTimeStepPerCycle",
            "macro": "TEST",
            "source_line": 393,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(problem.time_step_number(), 4u);",
              "EXPECT_NEAR(problem.time_step(), 5.e-3, 1.e-14);",
              "EXPECT_NEAR(problem.current_time(), 2.e-2, 1.e-14);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "BOTH_TrapezoidalMatchesNewmarkMMS",
            "macro": "TEST",
            "source_line": 417,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(displacement_difference, 0., 1.e-10);",
              "EXPECT_NEAR(velocity_difference, 0., 1.e-10);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Elastodynamics",
            "name": "BOTH_Issue209MixedBoundaryMatchesNewmark",
            "macro": "TEST",
            "source_line": 586,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(std::filesystem::is_regular_file(elasticity_input));",
              "ASSERT_TRUE(std::filesystem::is_regular_file(elastodynamics_input));",
              "EXPECT_NEAR(displacement_difference, 0., 1.e-8);",
              "EXPECT_NEAR(velocity_difference, 0., 1.e-7);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_Issue209MixedBoundaryMatchesNewmark",
                "seconds": 0.911,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_Issue209MixedBoundaryMatchesNewmark",
                "seconds": 0.826,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "FirstOrderResiduals",
            "macro": "TEST",
            "source_line": 648,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(kinematic_residual.l2_norm(), 0.0, 1.e-10);",
              "EXPECT_NEAR(dynamic_residual.l2_norm(), 0.0, 1.e-10);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.FirstOrderResiduals",
                "seconds": 0.101,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "IDAResidualAndJacobianOracle",
            "macro": "TEST",
            "source_line": 696,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(difference.l2_norm(), 0., 1.e-11);",
              "EXPECT_NEAR(difference.l2_norm(), 0., 1.e-11);",
              "EXPECT_NEAR(difference.l2_norm(), 0., 1.e-11);",
              "EXPECT_NEAR(difference.l2_norm(), 0., 1.e-11);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.IDAResidualAndJacobianOracle",
                "seconds": 0.136,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              }
            ]
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "NontrivialTransient",
            "macro": "TEST",
            "source_line": 825,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(problem.state_is_finite());",
              "EXPECT_TRUE(std::isfinite(final_energy));",
              "EXPECT_LE(final_energy, 1.1 * initial_energy + 1.e-10);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "ThreeDimensionalSmoke",
            "macro": "TEST",
            "source_line": 854,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(problem.n_dofs(), 0u);",
              "EXPECT_TRUE(problem.state_is_finite());"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "MPI_Transient",
            "macro": "TEST",
            "source_line": 876,
            "action": "keep",
            "reason": "Material operators, symmetry, cache-compatible native/IDA residuals, mixed/moving boundaries and native/Newmark exact-state comparisons.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(problem.state_is_finite());",
              "EXPECT_EQ(problem.time_step_number(), 1u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elastodynamics_adapter_mms_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "77ef4402b723f3201e66234e867906eb2a2409d51c34da98d8193c774b4f186f",
      "candidate_source_sha256": "19a56b86a97e9c216d7a2c1d63d29fccc1bbcb90dc0410b99783cd01afbbb923",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Non-polynomial manufactured forcing and strong/Neumann boundary data with displacement/velocity error bounds and spatial-rate oracle.",
        "reviewed_macro_occurrences": 5,
        "cases": [
          {
            "suite": "ElastodynamicsAdapterMMS",
            "name": "StrongDirichlet",
            "macro": "TEST",
            "source_line": 182,
            "action": "consolidate",
            "reason": "Merge duplicate single-grid error test with the first already-validated 1→2 spatial-rate pair. Preserve all absolute error thresholds, strong boundary trace checks and the first rate oracle; omit repeated mesh solves and the larger third mesh.",
            "replacement": [
              "ElastodynamicsAdapterMMS.StrongDirichletSpatialRegression"
            ],
            "direct_oracle_assertions": [
              "EXPECT_LT(result.l2_displacement, 8.e-2);",
              "EXPECT_LT(result.h1_displacement, 7.e-1);",
              "EXPECT_LT(result.l2_velocity, 5.e-1);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsAdapterMMS",
            "name": "Neumann",
            "macro": "TEST",
            "source_line": 190,
            "action": "consolidate",
            "reason": "Merge duplicate single-grid error test with the first already-validated 1→2 spatial-rate pair. Preserve all absolute error thresholds, strong boundary trace checks and the first rate oracle; omit repeated mesh solves and the larger third mesh.",
            "replacement": [
              "ElastodynamicsAdapterMMS.NeumannSpatialRegression"
            ],
            "direct_oracle_assertions": [
              "EXPECT_LT(result.l2_displacement, 3.e-1);",
              "EXPECT_LT(result.h1_displacement, 1.7);",
              "EXPECT_LT(result.l2_velocity, 8.e-1);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsAdapterMMS",
            "name": "StrongDirichletSpatialConvergence",
            "macro": "TEST",
            "source_line": 198,
            "action": "consolidate",
            "reason": "Merge duplicate single-grid error test with the first already-validated 1→2 spatial-rate pair. Preserve all absolute error thresholds, strong boundary trace checks and the first rate oracle; omit repeated mesh solves and the larger third mesh.",
            "replacement": [
              "ElastodynamicsAdapterMMS.StrongDirichletSpatialRegression"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Non-polynomial manufactured forcing and strong/Neumann boundary data with displacement/velocity error bounds and spatial-rate oracle.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsAdapterMMS",
            "name": "NeumannSpatialConvergence",
            "macro": "TEST",
            "source_line": 206,
            "action": "consolidate",
            "reason": "Merge duplicate single-grid error test with the first already-validated 1→2 spatial-rate pair. Preserve all absolute error thresholds, strong boundary trace checks and the first rate oracle; omit repeated mesh solves and the larger third mesh.",
            "replacement": [
              "ElastodynamicsAdapterMMS.NeumannSpatialRegression"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Non-polynomial manufactured forcing and strong/Neumann boundary data with displacement/velocity error bounds and spatial-rate oracle.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsAdapterMMS",
            "name": "RequiresSundials",
            "macro": "TEST",
            "source_line": 215,
            "action": "keep",
            "reason": "Non-polynomial manufactured forcing and strong/Neumann boundary data with displacement/velocity error bounds and spatial-rate oracle.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Non-polynomial manufactured forcing and strong/Neumann boundary data with displacement/velocity error bounds and spatial-rate oracle.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elastodynamics_adapter_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "ab20d9eda0b016dbbe343690912a63cf6e87182cbce72b6f052bfbb203df6d32",
      "candidate_source_sha256": "ab20d9eda0b016dbbe343690912a63cf6e87182cbce72b6f052bfbb203df6d32",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Time-polynomial IDA solution with both simplex and tensor-product cells.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "ElastodynamicsAdapterMMS",
            "name": "BOTH_SimplexPolynomialInTime",
            "macro": "TEST",
            "source_line": 65,
            "action": "keep",
            "reason": "Time-polynomial IDA solution with both simplex and tensor-product cells.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Time-polynomial IDA solution with both simplex and tensor-product cells.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsAdapterMMS",
            "name": "BOTH_HypercubePolynomialInTime",
            "macro": "TEST",
            "source_line": 70,
            "action": "keep",
            "reason": "Time-polynomial IDA solution with both simplex and tensor-product cells.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Time-polynomial IDA solution with both simplex and tensor-product cells.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elastodynamics_dimension_execution_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "a26bc31201ffcc070295a9fdcb870838504d0be551197db1f2b0c31011a09cb3",
      "candidate_source_sha256": "a26bc31201ffcc070295a9fdcb870838504d0be551197db1f2b0c31011a09cb3",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
        "reviewed_macro_occurrences": 18,
        "cases": [
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "NativeRunStandalone",
            "macro": "TEST",
            "source_line": 173,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_DOUBLE_EQ(problem.current_time(),",
              "EXPECT_EQ(problem.time_step_number(), 1u);",
              "EXPECT_TRUE(problem.state_is_finite());",
              "EXPECT_TRUE(std::filesystem::exists(ImmersX::TestPaths::output_path("
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "NativeNonzeroEmbeddedLine",
            "macro": "TEST",
            "source_line": 193,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsDimensionValidation",
            "name": "OneOneNative",
            "macro": "TEST",
            "source_line": 198,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsDimensionValidation",
            "name": "OneTwoNative",
            "macro": "TEST",
            "source_line": 203,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsDimensionValidation",
            "name": "OneThreeNative",
            "macro": "TEST",
            "source_line": 208,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsDimensionValidation",
            "name": "TwoTwoNative",
            "macro": "TEST",
            "source_line": 213,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsDimensionValidation",
            "name": "TwoThreeNative",
            "macro": "TEST",
            "source_line": 218,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsDimensionValidation",
            "name": "ThreeThreeNative",
            "macro": "TEST",
            "source_line": 223,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsDimensionValidation",
            "name": "MPI_EmbeddedLineNative",
            "macro": "TEST",
            "source_line": 228,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(fields.fields().displacement.is_registered());",
              "EXPECT_TRUE(fields.fields().velocity.is_registered());",
              "EXPECT_TRUE(accepted_output);",
              "EXPECT_NEAR(problem.current_time(),",
              "EXPECT_TRUE(problem.state_is_finite());",
              "EXPECT_NEAR(problem.displacement().l2_norm(), 0., 1.e-7);",
              "EXPECT_NEAR(problem.velocity().l2_norm(), 0., 1.e-7);",
              "EXPECT_GT(problem.velocity().l2_norm(), 0.);",
              "EXPECT_LT(residual.l2_norm(), 1.e-7);",
              "EXPECT_TRUE(std::isfinite(action.l2_norm()));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "IDA_OneOne",
            "macro": "TEST",
            "source_line": 318,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "IDA_OneTwo",
            "macro": "TEST",
            "source_line": 323,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "IDA_OneThree",
            "macro": "TEST",
            "source_line": 328,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "IDA_TwoTwo",
            "macro": "TEST",
            "source_line": 333,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "IDA_TwoThree",
            "macro": "TEST",
            "source_line": 338,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "IDA_ThreeThree",
            "macro": "TEST",
            "source_line": 343,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "IDA_NonzeroEmbeddedLine",
            "macro": "TEST",
            "source_line": 348,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "MPI_IDA_EmbeddedLine",
            "macro": "TEST",
            "source_line": 353,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsExecutionValidation",
            "name": "IDA_DimensionsUnavailable",
            "macro": "TEST",
            "source_line": 361,
            "action": "keep",
            "reason": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Every valid native/IDA dimension pair, embedded nonzero forcing, accepted state and output callbacks.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/elastodynamics_reuse_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "563b56a7b1d161771a463e3c1babcdd3fb1fdba8a57aca7f4567d7351f106517",
      "candidate_source_sha256": "563b56a7b1d161771a463e3c1babcdd3fb1fdba8a57aca7f4567d7351f106517",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Independent force integrals, configured time variable, repeated/backward time queries, spatial invalidation and moving-boundary hanging-node exact solutions.",
        "reviewed_macro_occurrences": 5,
        "cases": [
          {
            "suite": "Elastodynamics",
            "name": "BOTH_StaticLoadsSurviveRefinementAndRepeatedAssembly",
            "macro": "TEST",
            "source_line": 109,
            "action": "keep",
            "reason": "Independent force integrals, configured time variable, repeated/backward time queries, spatial invalidation and moving-boundary hanging-node exact solutions.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(problem.assembly_statistics().spatial_operators, cycle + 1u);",
              "EXPECT_GT(problem.n_dofs(), previous_dofs);",
              "EXPECT_NEAR(direction * product, 1., 1.e-12);",
              "EXPECT_NEAR(product.l2_norm(), 0., 1.e-12);",
              "EXPECT_EQ(problem.assembly_statistics().spatial_operators,",
              "EXPECT_EQ(problem.assembly_statistics().constraints,",
              "EXPECT_NEAR(resultant(problem, force, 0), 4., 1.e-12);",
              "EXPECT_NEAR(resultant(problem, force, 1), -5. / 3., 1.e-12);",
              "EXPECT_EQ(problem.assembly_statistics().body_force, cycle + 1u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_StaticLoadsSurviveRefinementAndRepeatedAssembly",
                "seconds": 0.156,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_StaticLoadsSurviveRefinementAndRepeatedAssembly",
                "seconds": 0.108,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "BOTH_TimeDependentLoadsUseConfiguredTimeVariable",
            "macro": "TEST",
            "source_line": 181,
            "action": "keep",
            "reason": "Independent force integrals, configured time variable, repeated/backward time queries, spatial invalidation and moving-boundary hanging-node exact solutions.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(resultant(problem, force, 0), 0.5 + 3. * time, 1.e-12);",
              "EXPECT_NEAR(resultant(problem, force, 1), 1., 1.e-12);",
              "EXPECT_EQ(problem.assembly_statistics().body_force, 4u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_TimeDependentLoadsUseConfiguredTimeVariable",
                "seconds": 0.14,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_TimeDependentLoadsUseConfiguredTimeVariable",
                "seconds": 0.072,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "BOTH_TimeDependentConstraintsRefreshAfterInitialState",
            "macro": "TEST",
            "source_line": 218,
            "action": "keep",
            "reason": "Independent force integrals, configured time variable, repeated/backward time queries, spatial invalidation and moving-boundary hanging-node exact solutions.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(problem.assembly_statistics().constraints,",
              "EXPECT_NEAR(problem.constraints().get_inhomogeneity(index),",
              "EXPECT_NEAR(problem.velocity_constraints().get_inhomogeneity(index),"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_TimeDependentConstraintsRefreshAfterInitialState",
                "seconds": 0.156,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_TimeDependentConstraintsRefreshAfterInitialState",
                "seconds": 0.085,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "BOTH_TrapezoidalMovingBoundaryWithHangingNodes",
            "macro": "TEST",
            "source_line": 274,
            "action": "keep",
            "reason": "Independent force integrals, configured time variable, repeated/backward time queries, spatial invalidation and moving-boundary hanging-node exact solutions.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(Utilities::MPI::sum(hanging.n_constraints(), MPI_COMM_WORLD), 0u);",
              "EXPECT_NEAR(problem.displacement()(index),",
              "EXPECT_NEAR(problem.velocity()(index), 2. * time * scale, 1.e-9);",
              "EXPECT_EQ(problem.assembly_statistics().time_system_matrix,",
              "EXPECT_EQ(problem.assembly_statistics().spatial_operators, 1u);",
              "EXPECT_EQ(problem.assembly_statistics().body_force, 1u);",
              "EXPECT_EQ(problem.assembly_statistics().time_system_matrix, 2u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_TrapezoidalMovingBoundaryWithHangingNodes",
                "seconds": 0.184,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_TrapezoidalMovingBoundaryWithHangingNodes",
                "seconds": 0.153,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "BOTH_BackwardEulerMovingBoundaryWithHangingNodes",
            "macro": "TEST",
            "source_line": 338,
            "action": "keep",
            "reason": "Independent force integrals, configured time variable, repeated/backward time queries, spatial invalidation and moving-boundary hanging-node exact solutions.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(Utilities::MPI::sum(hanging.n_constraints(), MPI_COMM_WORLD), 0u);",
              "EXPECT_NEAR(problem.displacement()(index),",
              "EXPECT_NEAR(problem.velocity()(index), scale, 1.e-9);",
              "EXPECT_EQ(problem.assembly_statistics().spatial_operators, 1u);",
              "EXPECT_EQ(problem.assembly_statistics().body_force, 1u);",
              "EXPECT_EQ(problem.assembly_statistics().time_system_matrix, 1u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_BackwardEulerMovingBoundaryWithHangingNodes",
                "seconds": 0.179,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_BackwardEulerMovingBoundaryWithHangingNodes",
                "seconds": 0.151,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elastodynamics_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "0a025d1ac3b55a9f6db62ad9661313a3f1ea44061b531dcc5ddf08d37473b565",
      "candidate_source_sha256": "0a025d1ac3b55a9f6db62ad9661313a3f1ea44061b531dcc5ddf08d37473b565",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Exact affine-space transient with native simplex/hypercube lifecycle and reference-cell-specific error support.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "Elastodynamics",
            "name": "BOTH_LinearFieldIsExactOnSimplexMesh",
            "macro": "TEST",
            "source_line": 173,
            "action": "keep",
            "reason": "Exact affine-space transient with native simplex/hypercube lifecycle and reference-cell-specific error support.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(problem.triangulation().all_reference_cells_are_simplex());",
              "EXPECT_EQ(problem.triangulation().n_global_active_cells(), 48u);",
              "EXPECT_ANY_THROW(problem.compute_error());"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_LinearFieldIsExactOnSimplexMesh",
                "seconds": 0.39,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_LinearFieldIsExactOnSimplexMesh",
                "seconds": 0.309,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              }
            ]
          },
          {
            "suite": "Elastodynamics",
            "name": "BOTH_LinearFieldIsExactOnHypercubeMesh",
            "macro": "TEST",
            "source_line": 193,
            "action": "keep",
            "reason": "Exact affine-space transient with native simplex/hypercube lifecycle and reference-cell-specific error support.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(problem.triangulation().all_reference_cells_are_hyper_cube());",
              "EXPECT_NO_THROW(problem.compute_error());"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "Elastodynamics.BOTH_LinearFieldIsExactOnHypercubeMesh",
                "seconds": 0.312,
                "rank": null,
                "group": "ImmersX_integration_Serial_Elastodynamics"
              },
              {
                "test": "Elastodynamics.BOTH_LinearFieldIsExactOnHypercubeMesh",
                "seconds": 0.232,
                "rank": 0,
                "group": "ImmersX_integration_MPI_Elastodynamics"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/elastodynamics_simplex_transient_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "b04b9a10175dd131a4b6712ff97ed721ca2100e41dc8a684991f287e915d6285",
      "candidate_source_sha256": "b04b9a10175dd131a4b6712ff97ed721ca2100e41dc8a684991f287e915d6285",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Nonzero quadratic-space/cubic-time native exact field, including both displacement and velocity.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "ElastodynamicsValidation",
            "name": "BOTH_SimplexQuadraticSpaceCubicTime",
            "macro": "TEST",
            "source_line": 49,
            "action": "keep",
            "reason": "Nonzero quadratic-space/cubic-time native exact field, including both displacement and velocity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Nonzero quadratic-space/cubic-time native exact field, including both displacement and velocity.",
            "ci_debug_observations": []
          },
          {
            "suite": "ElastodynamicsValidation",
            "name": "BOTH_HypercubeQuadraticSpaceCubicTime",
            "macro": "TEST",
            "source_line": 54,
            "action": "keep",
            "reason": "Nonzero quadratic-space/cubic-time native exact field, including both displacement and velocity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Nonzero quadratic-space/cubic-time native exact field, including both displacement and velocity.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/fe_space_observable_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "6f68365e2b94c9663c9acc3d3d0fdbc75539ff7ac64d1f1fdd867b4ee89ec127",
      "candidate_source_sha256": "a4845262a9f8ec9577f7778de603ce4c946abd4c61498059cbf6344d68af57ef",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
        "source_lines_before": 663,
        "source_lines_after": 646,
        "cases_before": [
          {
            "case": "FESpace.IsANonOwningViewAndSupportsSubspaces",
            "source_line": 57,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(&V.dof_handler(), &system.dof_handler);",
              "EXPECT_EQ(&V.mapping(), &system.mapping);",
              "EXPECT_EQ(&V.constraints(), &system.constraints);",
              "EXPECT_EQ(&V.locally_relevant_dofs(), &system.relevant);",
              "EXPECT_EQ(displacement.field_id(), ImmersX::FieldId(0));",
              "EXPECT_EQ(pressure.field_id(), ImmersX::FieldId(1));",
              "EXPECT_NE(displacement.field_id(), pressure.field_id());",
              "EXPECT_FALSE(displacement_again.is_registered());",
              "EXPECT_EQ(&displacement.dof_handler(), &system.dof_handler);",
              "EXPECT_EQ(displacement.extractor().first_vector_component, 0u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.029,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.VectorMasksSelectAmbientComponents",
            "source_line": 113,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_ambient_vector_mask<1, 2>(",
              "check_ambient_vector_mask<1, 3>(",
              "check_ambient_vector_mask<2, 2>(",
              "check_ambient_vector_mask<2, 3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.025,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.FieldLocalConstraintsArePersistentAndIndependent",
            "source_line": 121,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(displacement.has_field_constraints());",
              "ASSERT_TRUE(velocity.has_field_constraints());",
              "EXPECT_NE(&displacement.constraints(), &system.constraints);",
              "EXPECT_NE(&velocity.constraints(), &system.constraints);",
              "EXPECT_NE(&displacement.constraints(), &velocity.constraints());",
              "EXPECT_TRUE(displacement.constraints().is_constrained(0));",
              "EXPECT_FALSE(displacement.constraints().is_constrained(1));",
              "EXPECT_FALSE(velocity.constraints().is_constrained(0));",
              "EXPECT_TRUE(velocity.constraints().is_constrained(1));",
              "EXPECT_EQ(displacement_constraints, &displacement.constraints());",
              "EXPECT_FALSE(displacement.constraints().is_constrained(0));",
              "EXPECT_TRUE(velocity.constraints().is_constrained(1));"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.FieldComponentMaskComesFromNonzeroExtractor",
            "source_line": 161,
            "action": "remove-duplicate",
            "reason": "check_ambient_vector_mask<2,2>(1) retains the original three-component mask and extractor1, with an explicit mask-size check; default extra_components2, other dimensions and invalid bounds are also retained.",
            "replacement_cases": [
              "FESpace.VectorMasksSelectAmbientComponents"
            ],
            "direct_oracle_lines": [
              "ASSERT_EQ(mask.size(), 3u);",
              "EXPECT_FALSE(mask[0]);",
              "EXPECT_TRUE(mask[1]);",
              "EXPECT_TRUE(mask[2]);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.ScalarAndVectorFieldCPOsUseDealIIExtractors",
            "source_line": 182,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "static_assert(",
              "static_assert(",
              "EXPECT_EQ(scalar.name(), \"temperature\");",
              "EXPECT_EQ(scalar.extractor().component, 0u);",
              "EXPECT_EQ(vector.name(), \"velocity\");",
              "EXPECT_EQ(vector.extractor().first_vector_component, 0u);",
              "EXPECT_FALSE(scalar.is_registered());",
              "EXPECT_FALSE(vector.is_registered());",
              "EXPECT_TRUE(registered_scalar.is_registered());",
              "EXPECT_TRUE(registered_vector.is_registered());",
              "EXPECT_NE(registered_scalar.field_id(), registered_vector.field_id());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.ValueAndGradientExposeTypedDependencies",
            "source_line": 216,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "static_assert(",
              "static_assert(std::is_same_v<typename PressureView::value_type,",
              "static_assert(",
              "static_assert(std::is_same_v<typename PressureView::gradient_type,",
              "static_assert(",
              "static_assert(",
              "static_assert(",
              "EXPECT_EQ(displacement_value.dependencies(),",
              "EXPECT_EQ(pressure_grad.dependencies(),",
              "EXPECT_EQ(displacement_value.update_flags() & update_values, update_values);",
              "EXPECT_EQ(pressure_grad.update_flags() & update_gradients, update_gradients);",
              "EXPECT_EQ(displacement_value.source_field(), displacement.field_id());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.TestExpressionsAndNativeAlgebra",
            "source_line": 269,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(v.dependencies().empty());",
              "EXPECT_TRUE(grad_v.dependencies().empty());",
              "EXPECT_EQ(v.source_field(), displacement.field_id());",
              "static_assert(",
              "static_assert(std::is_same_v<typename decltype(sum)::value_type,",
              "static_assert(std::is_same_v<typename decltype(difference)::value_type,",
              "static_assert("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.TensorExtractorsUseDealIIViewTypes",
            "source_line": 302,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "static_assert(std::is_same_v<typename TensorView::value_type,",
              "static_assert(std::is_same_v<typename TensorView::gradient_type,",
              "static_assert(",
              "static_assert(std::is_same_v<typename SymmetricView::value_type,",
              "static_assert("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.FrozenObservablesReuseFEOperations",
            "source_line": 340,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(frozen_value.is_frozen());",
              "EXPECT_TRUE(frozen_grad.is_frozen());",
              "EXPECT_TRUE(frozen_value.dependencies().empty());",
              "EXPECT_TRUE(frozen_grad.dependencies().empty());",
              "EXPECT_EQ(frozen_grad.update_flags() & update_gradients, update_gradients);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.NonlinearTransformChainsActiveAndFrozenInputs",
            "source_line": 363,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(value, 8.);",
              "EXPECT_EQ(expression.dependencies(),",
              "EXPECT_DOUBLE_EQ("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.SquareRootTransformHasCorrectDerivative",
            "source_line": 411,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(",
              "EXPECT_DOUBLE_EQ("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.SymbolicKernelSuppliesTransformDerivatives",
            "source_line": 440,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "EXPECT_DOUBLE_EQ(expression.evaluate_point(",
              "EXPECT_DOUBLE_EQ("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.007,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.NonlinearLiftUsesComposedSource",
            "source_line": 482,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(values.size(), lifted.lifted_points().size());",
              "EXPECT_EQ(action.size(), values.size());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.062,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.LiftThicknessUsesFrozenFieldOnItsOwnFiniteElement",
            "source_line": 542,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(first_cell_radius, 0.);",
              "EXPECT_NEAR(second_cell_radius / first_cell_radius, 2., 1.e-10);",
              "EXPECT_NEAR(second_cell_weight / first_cell_weight, 2., 1.e-10);",
              "ASSERT_EQ(action.size(), values.size());",
              "EXPECT_LT(((perturbed[q] - values[q]) / epsilon - action[q]).norm(), 1.e-6);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.185,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.WrapsAnExistingProblemFromTheOutside",
            "source_line": 624,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(&pressure.dof_handler(), &problem.dof_handler());",
              "EXPECT_EQ(&V.mapping(), &StaticMappingQ1<2>::mapping);",
              "EXPECT_EQ(pressure.name(), \"pressure\");",
              "EXPECT_FALSE(pressure.is_registered());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FESpace.ParametersSelectFiniteElementByName",
            "source_line": 643,
            "action": "keep",
            "reason": "Non-owning FE views, scalar/vector/tensor extractors and masks, field-local constraints, nonlinear/frozen expression derivatives and public field CPOs.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NE(dynamic_cast<const FE_DGQ<2> *>(&space.finite_element()), nullptr);",
              "EXPECT_EQ(space.dof_handler().n_dofs(), 36u);",
              "EXPECT_EQ(&view.dof_handler(), &space.dof_handler());",
              "EXPECT_EQ(&view.mapping(), &StaticMappingQ1<2>::mapping);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.011,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/fiber_harmonic_simplex_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "befe27a13be8030d80a01c1a443980cabbc3984f37030b7639c189965e8d59bc",
      "candidate_source_sha256": "f1cdc6ba874ae3db3d68c23be573ed4224d3d955a2be29181db1ca42ea2f15ca",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "before_cases": [
          "FiberReinforcedElasticityFreq.BOTH_SimplexVolumeTranslation",
          "FiberReinforcedElasticityFreq.BOTH_SimplexSheetTranslation",
          "FiberReinforcedElasticityFreq.BOTH_SimplexSharedTranslation"
        ],
        "after_cases": [
          "FiberReinforcedElasticityFreq.BOTH_SimplexVolumeTranslation",
          "FiberReinforcedElasticityFreq.BOTH_SimplexSheetTranslation",
          "FiberReinforcedElasticityFreq.BOTH_SimplexSharedTranslation"
        ],
        "review_decision": "Retain independent/shared simplex volume and sheet translations in 2D/3D. Replace 48-tetrahedron matrix/collocated-volume meshes by the dedicated six-tetrahedron cube where all Dirichlet sets are empty.",
        "distinct_contracts_and_redundancy_evidence": "Simplex physical quadrature and cross-cell sheet integration are distinct from hypercube dimension checks; exact amplitude, reaction and continuity remain independent oracles.",
        "baseline_ci_case_seconds": {
          "FiberReinforcedElasticityFreq.BOTH_SimplexVolumeTranslation": 3.814,
          "FiberReinforcedElasticityFreq.BOTH_SimplexSheetTranslation": 14.891,
          "FiberReinforcedElasticityFreq.BOTH_SimplexSharedTranslation": 38.971
        },
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/fiber_reinforced_elasticity_freq_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "9959ac5d3665bdf8109872d111f914fa110d3b7981526dffb50305f9c372e7f0",
      "candidate_source_sha256": "624d7d191917c74bea1e6fe0a22d09c21a30f19af6652c1c4c380aa309a911f8",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "before_cases": [
          "FiberReinforcedElasticityFreq.BOTH_DampedTranslationAndFrequencySweep",
          "FiberReinforcedElasticityFreq.BOTH_StaticParallelStiffness",
          "FiberReinforcedElasticityFreq.BOTH_ViscoelasticFiberResponse",
          "FiberReinforcedElasticityFreq.BOTH_CollectiveMetadataFailure",
          "FiberReinforcedElasticityFreq.BOTH_CommonFrequencyParameters",
          "FiberReinforcedElasticityFreq.BOTH_AllDimensionsAndFormulations",
          "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing"
        ],
        "after_cases": [
          "FiberReinforcedElasticityFreq.BOTH_DampedTranslationAndFrequencySweep",
          "FiberReinforcedElasticityFreq.BOTH_ViscoelasticFiberResponse",
          "FiberReinforcedElasticityFreq.BOTH_CollectiveMetadataFailure",
          "FiberReinforcedElasticityFreq.BOTH_CommonFrequencyParameters",
          "FiberReinforcedElasticityFreq.BOTH_AllDimensionsAndFormulations",
          "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing"
        ],
        "review_decision": "Consolidate weighted static axial-stiffness parity into all six independent dimension pairs and three shared representatives (line, sheet, volume). Keep nonzero dynamic mass/phased forcing in all six shared dimension pairs; repeat frequency only on one codimension-two shared and one 2D independent representative. Retain two-cell independent fibers so DG0 continuity controls affine strain; shared integration uses one cell where possible.",
        "distinct_contracts_and_redundancy_evidence": "AllDimensionsAndFormulations now uses nonunit section weights and the analytical stiffness slope A/(4*A+10*a), including the removed static oracle while adding nonzero Dirichlet phase and both formulations. Metadata error handling, parameter alias isolation and viscoelastic quadratic response remain distinct. Shared formulation no longer asserts continuity_norm(), which is an uncomputed initialized zero when there are no independent fields or continuity equations.",
        "baseline_ci_case_seconds": {
          "FiberReinforcedElasticityFreq.BOTH_DampedTranslationAndFrequencySweep": 9.963,
          "FiberReinforcedElasticityFreq.BOTH_StaticParallelStiffness": 4.84,
          "FiberReinforcedElasticityFreq.BOTH_ViscoelasticFiberResponse": 0.335,
          "FiberReinforcedElasticityFreq.BOTH_CollectiveMetadataFailure": 0.082,
          "FiberReinforcedElasticityFreq.BOTH_CommonFrequencyParameters": 0.103,
          "FiberReinforcedElasticityFreq.BOTH_AllDimensionsAndFormulations": 87.542,
          "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing": 121.447
        },
        "removed_cases": [
          {
            "case": "FiberReinforcedElasticityFreq.BOTH_StaticParallelStiffness",
            "covered_by": "FiberReinforcedElasticityFreq.BOTH_AllDimensionsAndFormulations",
            "reason": "Weighted axial stiffness with section area, now combined with the stronger affine phased/nonzero boundary oracle in both formulations."
          }
        ],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/fiber_reinforced_elastodynamics_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "2c54f424ec1bb612f9e32d31f541100df22b64996e8d4a18ab80a7e275e31286",
      "candidate_source_sha256": "55029ce48c3f5ed74566f8eab7c490ece98b2a87bb1fd95ef76e111e0237357d",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "before_cases": [
          "TimeIntervalParameters.FiberTutorialDerivesIDAConfiguration",
          "FiberReinforcedElastodynamicsValidation.BOTH_ConfigurableMultiplierSpace",
          "FiberReinforcedElastodynamicsValidation.RejectsWrongMultiplierComponents",
          "FiberReinforcedElastodynamicsValidation.ZeroPreservation",
          "FiberReinforcedElastodynamicsValidation.CoupledResidualAndExcessResponse",
          "FiberReinforcedElastodynamicsValidation.CoupledResponseDiffersFromIndependentMatrixHistory",
          "FiberReinforcedElastodynamicsValidation.Serial_IDAInitialDerivativeLifetime",
          "FiberReinforcedElastodynamicsValidation.MPI_FiveFieldFiberIDA",
          "FiberReinforcedElastodynamicsValidation.MPI_CoupledTransient",
          "FiberReinforcedElastodynamicsValidation.ThreeDimensionalSmoke"
        ],
        "after_cases": [
          "TimeIntervalParameters.FiberTutorialDerivesIDAConfiguration",
          "FiberReinforcedElastodynamicsValidation.BOTH_ConfigurableMultiplierSpace",
          "FiberReinforcedElastodynamicsValidation.RejectsWrongMultiplierComponents",
          "FiberReinforcedElastodynamicsValidation.ZeroPreservation",
          "FiberReinforcedElastodynamicsValidation.CoupledResponseDiffersFromIndependentMatrixHistory",
          "FiberReinforcedElastodynamicsValidation.Serial_IDAInitialDerivativeLifetime",
          "FiberReinforcedElastodynamicsValidation.MPI_FiveFieldFiberIDA",
          "FiberReinforcedElastodynamicsValidation.MPI_CoupledTransient",
          "FiberReinforcedElastodynamicsValidation.ThreeDimensionalMultiplierSetup"
        ],
        "review_decision": "Retain the unique coupled all-zero evolution invariant; merge finite-state, velocity-constraint and finite excess-energy checks into the independent-history oracle. Replace the fully constrained zero 3D smoke timestep by explicit quadratic-multiplier setup checks.",
        "distinct_contracts_and_redundancy_evidence": "Nonzero simplex native/IDA translations cover exact advancement; the independent dense history oracle verifies coupling changes the physical trajectory. Keep IDA observer-lifetime, collective five-field reaction/refresh/output, configurable multiplier and driver-owned MPI transient regressions. Peer review corrected the initial zero-preservation removal: nonzero forced solutions do not subsume the exact coupled zero-state invariant; original test restored byte for byte.",
        "baseline_ci_case_seconds": {
          "TimeIntervalParameters.FiberTutorialDerivesIDAConfiguration": 0.06
        },
        "removed_cases": [
          {
            "case": "FiberReinforcedElastodynamicsValidation.CoupledResidualAndExcessResponse",
            "covered_by": "FiberReinforcedElastodynamicsValidation.CoupledResponseDiffersFromIndependentMatrixHistory",
            "reason": "Finite state, constraint residual and finite excess energy are retained inside every step of the stronger independent dense-history comparison."
          }
        ],
        "renamed_cases": {
          "FiberReinforcedElastodynamicsValidation.ThreeDimensionalSmoke": "FiberReinforcedElastodynamicsValidation.ThreeDimensionalMultiplierSetup"
        }
      }
    },
    {
      "path": "gtests/fiber_reinforced_simplex_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "577e224117de9cf9ed2fa2be3663da19a0e481d8064fa654d13c02e6ce9ac3e4",
      "candidate_source_sha256": "2b3a46d32c40bc32ae9307f42fa071c826bf58505ee175c96125b44f37e940d6",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "before_cases": [
          "FiberReinforcedElastodynamicsValidation.BOTH_SimplexForcedTranslation",
          "FiberReinforcedElastodynamicsValidation.BOTH_SimplexForcedTranslationIDA"
        ],
        "after_cases": [
          "FiberReinforcedElastodynamicsValidation.BOTH_SimplexForcedTranslation",
          "FiberReinforcedElastodynamicsValidation.BOTH_SimplexForcedTranslationIDA"
        ],
        "review_decision": "Retain native and IDA exact nonzero forced translations in 2D/3D. Replace 48-tetrahedron matrix/collocated-volume meshes by the dedicated six-tetrahedron cube where all Dirichlet sets are empty.",
        "distinct_contracts_and_redundancy_evidence": "Different time integrators have different exact discrete displacement values, so they are complementary, not duplicate smoke tests.",
        "baseline_ci_case_seconds": {},
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/foundational_applications_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "d6139418d2f29231020477973ff5c106abb5a5fec51aedf65a1bb0f2f2b16fb3",
      "candidate_source_sha256": "d6139418d2f29231020477973ff5c106abb5a5fec51aedf65a1bb0f2f2b16fb3",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Cross-equation weak terms and saddle-point metadata in mixed biharmonic/incompressible elasticity models.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "FoundationalApplications",
            "name": "MixedBiharmonicUsesCrossEquationWeakTerms",
            "macro": "TEST",
            "source_line": 55,
            "action": "keep",
            "reason": "Cross-equation weak terms and saddle-point metadata in mixed biharmonic/incompressible elasticity models.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(u_from_w.has_value());",
              "ASSERT_TRUE(w_from_u.has_value());",
              "ASSERT_TRUE(w_from_w.has_value());",
              "EXPECT_FALSE(model.has_derivative_terms());",
              "EXPECT_TRUE(model.saddle_points().empty());",
              "EXPECT_GT(u_from_w->matrix()->n_nonzero_elements(), 0u);",
              "EXPECT_GT(w_from_u->matrix()->n_nonzero_elements(), 0u);",
              "EXPECT_GT(w_from_w->matrix()->n_nonzero_elements(), 0u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "FoundationalApplications.MixedBiharmonicUsesCrossEquationWeakTerms",
                "seconds": 0.015,
                "rank": null,
                "group": "ImmersX_integration_Serial_FoundationalApplications"
              }
            ]
          },
          {
            "suite": "FoundationalApplications",
            "name": "IncompressibleElasticityUsesSaddlePointWeakTerms",
            "macro": "TEST",
            "source_line": 94,
            "action": "keep",
            "reason": "Cross-equation weak terms and saddle-point metadata in mixed biharmonic/incompressible elasticity models.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(displacement_from_displacement.has_value());",
              "ASSERT_TRUE(displacement_from_pressure.has_value());",
              "ASSERT_TRUE(pressure_from_displacement.has_value());",
              "ASSERT_EQ(model.saddle_points().size(), 1u);",
              "EXPECT_EQ(model.saddle_points().front().multiplier, pressure.field_id());",
              "EXPECT_GT(displacement_from_displacement->matrix()->n_nonzero_elements(), 0u);",
              "EXPECT_GT(displacement_from_pressure->matrix()->n_nonzero_elements(), 0u);",
              "EXPECT_GT(pressure_from_displacement->matrix()->n_nonzero_elements(), 0u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "FoundationalApplications.IncompressibleElasticityUsesSaddlePointWeakTerms",
                "seconds": 0.006,
                "rank": null,
                "group": "ImmersX_integration_Serial_FoundationalApplications"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/ida_tolerances_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "e211bd7de73ff4a8aaaf70ec90c3cb49abf4636445d88d48add2deea7f5e0a34",
      "candidate_source_sha256": "e211bd7de73ff4a8aaaf70ec90c3cb49abf4636445d88d48add2deea7f5e0a34",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Field-specific error weights, a history-preserving ramp, invalid collective inputs, restart rebuilds and empty-rank NVector minimum.",
        "source_lines_before": 350,
        "source_lines_after": 350,
        "cases_before": [
          {
            "case": "DistributedIDA.BOTH_LocalTolerancesAndHistoryPreservingRamp",
            "source_line": 202,
            "action": "keep",
            "reason": "Field-specific error weights, a history-preserving ramp, invalid collective inputs, restart rebuilds and empty-rank NVector minimum.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(baseline.differential, factor_one.differential, 1.e-10);",
              "EXPECT_NEAR(baseline.algebraic, factor_one.algebraic, 1.e-6);",
              "EXPECT_EQ(local.tolerance_builds, 1u);",
              "EXPECT_EQ(ramp.tolerance_builds, 1u);",
              "EXPECT_EQ(restarted.tolerance_builds, 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 3.59,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 2.747,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.BOTH_InvalidLocalTolerancesAreCollective",
            "source_line": 216,
            "action": "keep",
            "reason": "Field-specific error weights, a history-preserving ramp, invalid collective inputs, restart rebuilds and empty-rank NVector minimum.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(adapter.solve(y, yp), dealii::ExceptionBase);",
              "EXPECT_THROW(adapter.set_absolute_tolerance(field.fields(), 0.),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.002,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.BOTH_NVectorMinimumWithEmptyRanks",
            "source_line": 231,
            "action": "keep",
            "reason": "Field-specific error weights, a history-preserving ramp, invalid collective inputs, restart rebuilds and empty-rank NVector minimum.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(N_VMin(view), 2.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.0,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.BOTH_WeightCallbackFailureDuringInitialization",
            "source_line": 251,
            "action": "keep",
            "reason": "Field-specific error weights, a history-preserving ramp, invalid collective inputs, restart rebuilds and empty-rank NVector minimum.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(adapter.solve(y, yp), std::runtime_error);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_DistributedIDA",
                "rank": 0,
                "seconds": 0.002,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.SharedNativeParameterSection",
            "source_line": 268,
            "action": "keep",
            "reason": "Field-specific error weights, a history-preserving ramp, invalid collective inputs, restart rebuilds and empty-rank NVector minimum.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(native.final_time, time.final_time);",
              "EXPECT_DOUBLE_EQ(native.output_period, time.output_time_interval);",
              "EXPECT_EQ(native.maximum_order, ida.maximum_order);",
              "EXPECT_DOUBLE_EQ(native.absolute_tolerance, ida.absolute_tolerance);",
              "EXPECT_EQ(native.ic_type, decltype(native)::none);",
              "EXPECT_DOUBLE_EQ(time.initial_time, 2.5);",
              "EXPECT_DOUBLE_EQ(data.initial_time, native.initial_time);",
              "EXPECT_DOUBLE_EQ(data.final_time, native.final_time);",
              "EXPECT_DOUBLE_EQ(data.final_time, 2.75);",
              "EXPECT_DOUBLE_EQ(data.output_period, native.output_period);",
              "EXPECT_DOUBLE_EQ(data.output_period, 0.125);",
              "EXPECT_DOUBLE_EQ(data.initial_step_size, native.initial_step_size);",
              "EXPECT_DOUBLE_EQ(data.initial_step_size, 0.002);",
              "EXPECT_EQ(data.maximum_order, 2u);",
              "EXPECT_EQ(data.maximum_order, native.maximum_order);",
              "EXPECT_DOUBLE_EQ(data.absolute_tolerance, 1.e-7);",
              "EXPECT_DOUBLE_EQ(data.absolute_tolerance, native.absolute_tolerance);",
              "EXPECT_DOUBLE_EQ(data.relative_tolerance, 2.e-6);",
              "EXPECT_EQ(data.ic_type, decltype(data)::use_y_diff);",
              "EXPECT_EQ(native.ic_type, decltype(native)::use_y_diff);",
              "EXPECT_EQ(text.find(\"subsection Time interval\"), std::string::npos);",
              "EXPECT_EQ(text.find(\"subsection Fixed step\"), std::string::npos);",
              "EXPECT_EQ(text.find(\"subsection IDA\\n\"), std::string::npos);",
              "ASSERT_NE(section, std::string::npos);",
              "EXPECT_EQ(text.find(\"subsection IDA parameters\", section + 1),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "DistributedIDA.RampParameterValidation",
            "source_line": 338,
            "action": "keep",
            "reason": "Field-specific error weights, a history-preserving ramp, invalid collective inputs, restart rebuilds and empty-rank NVector minimum.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NO_THROW(ramp.validate(.25, .35, .01));",
              "EXPECT_THROW(ramp.validate(.25, .35, .01), dealii::ExceptionBase);",
              "EXPECT_THROW(ramp.validate(.25, .35, .01), dealii::ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_DistributedIDA",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/imported_finite_element_fields_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "457750ec3e84f814a904327ffc5563a22f5d09595fb17652634b4d7c405ad0cb",
      "candidate_source_sha256": "457750ec3e84f814a904327ffc5563a22f5d09595fb17652634b4d7c405ad0cb",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
        "source_lines_before": 418,
        "source_lines_after": 418,
        "cases_before": [
          {
            "case": "ImportedFiniteElementFields.PointDataScalarAndGradient",
            "source_line": 114,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_scalar_import<1, 3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.018,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.CellDataScalar",
            "source_line": 121,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_scalar_import<1, 3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.005,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.BOTH_ImportedFrozenInputFeedsResidualJacobianAndTranspose",
            "source_line": 127,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(observable.dependencies(), std::vector<FieldId>{active.field_id()});",
              "ASSERT_TRUE(jacobian.has_value());",
              "EXPECT_NEAR(action * dual, direction * transpose, 1.e-12);",
              "EXPECT_LT(perturbed.l2_norm(), 1.e-6);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ImportedFiniteElementFields",
                "rank": 0,
                "seconds": 0.039,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.017,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.BOTH_CellDataA0RemainsDiscontinuous",
            "source_line": 219,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(fe.n_blocks(), 1u);",
              "ASSERT_NE(dgq, nullptr);",
              "EXPECT_EQ(fe.degree, 0u);",
              "ASSERT_EQ(mesh->n_global_active_cells(), 2u);",
              "ASSERT_EQ(indices.size(), 1u);",
              "EXPECT_EQ(Utilities::MPI::sum(local_one, MPI_COMM_WORLD), 1u);",
              "EXPECT_EQ(Utilities::MPI::sum(local_four, MPI_COMM_WORLD), 1u);",
              "EXPECT_TRUE(frozen_a0.is_frozen());",
              "EXPECT_TRUE(frozen_a0.dependencies().empty());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ImportedFiniteElementFields",
                "rank": 0,
                "seconds": 0.006,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.ComponentLookupSharesStorage",
            "source_line": 257,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(vector_field.descriptor().n_components, 3u);",
              "EXPECT_EQ(vector_field.component(), 1u);",
              "EXPECT_EQ(&vector_field.coefficients(), &scalar_field.coefficients());",
              "EXPECT_NE(vector_field.field().extractor().component,"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.009,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.MPI_SharedStorageAndCellData",
            "source_line": 272,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);"
            ],
            "helper_checks": [
              "check_scalar_import<1, 3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ImportedFiniteElementFields",
                "rank": 0,
                "seconds": 0.007,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.ElasticityConsumer",
            "source_line": 279,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(lambda.name(), \"lambda\");",
              "EXPECT_EQ(&lambda.coefficients(), &fields->coefficients());"
            ],
            "helper_checks": [
              "check_lambda_sampling("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.025,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.FieldViewSurvivesParentHandle",
            "source_line": 300,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_lambda_sampling("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.014,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.SharedInstanceViewsUseSharedStorage",
            "source_line": 322,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(&first.coefficients(), &second.coefficients());",
              "EXPECT_EQ(&first.field().dof_handler(), &second.field().dof_handler());",
              "EXPECT_EQ(&first.field().space().dof_handler(),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.014,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.BOTH_DistributedRefinementTransfersPointData",
            "source_line": 409,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_distributed_refinement("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ImportedFiniteElementFields",
                "rank": 0,
                "seconds": 0.064,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.043,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ImportedFiniteElementFields.BOTH_DistributedRefinementTransfersCellData",
            "source_line": 414,
            "action": "keep",
            "reason": "Point/cell data association and FE evaluation, shared storage lifetime, discontinuous properties and serial/distributed refinement transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_cell_data_refinement("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ImportedFiniteElementFields",
                "rank": 0,
                "seconds": 0.053,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_ImportedFiniteElementFields",
                "rank": null,
                "seconds": 0.043,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/inclusions_02.cc",
      "review_category": "core",
      "baseline_source_sha256": "e8cc232b24be54f9407a637f79df587152e5745ba4b05b05febeb1341b6ce3e4",
      "candidate_source_sha256": "8f76badb9350dbb486cfe5bb5b15bd2d97f34fcdd738f0a7087b05b002b40e24",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Current Inclusions Fourier integrals and radius-dependent basis normalization; remove unrelated test-local XML converter demonstration.",
        "source_lines_before": 206,
        "source_lines_after": 83,
        "cases_before": [
          {
            "case": "InclusionsBasis2.CheckIntegrals",
            "source_line": 35,
            "action": "keep",
            "reason": "Current Inclusions Fourier integrals and radius-dependent basis normalization; remove unrelated test-local XML converter demonstration.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(integral[0], 2 * numbers::PI, 1e-10);",
              "ASSERT_NEAR(integral[1], 2 * numbers::PI, 1e-10);",
              "ASSERT_NEAR(integral[2], 0, 1e-10);",
              "ASSERT_NEAR(integral[3], 0, 1e-10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "InclusionsBasis2.CheckScaling",
            "source_line": 60,
            "action": "keep",
            "reason": "Current Inclusions Fourier integrals and radius-dependent basis normalization; remove unrelated test-local XML converter demonstration.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(integral[0], D, 1e-10); // integral of 1",
              "EXPECT_NEAR(integral[1], D, 1e-10); // integral of \\phi_0",
              "EXPECT_NEAR(integral[i], expected, 1e-10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "CCO.XmlConverter",
            "source_line": 136,
            "action": "remove-obsolete",
            "reason": "Only local Boost XML conversion and unused output vectors; no production converter is exercised.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(nodes.size(), 1000);",
              "ASSERT_EQ(edges.size(), 999);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.247,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/input_field_selector_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "64d494eb5329ddd2ad8d5387aeb7170d7f099f6c31cc6c240647aa0dec2f10c9",
      "candidate_source_sha256": "64d494eb5329ddd2ad8d5387aeb7170d7f099f6c31cc6c240647aa0dec2f10c9",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Field alias/component/wildcard resolution and rejection of ambiguous/invalid symbols.",
        "source_lines_before": 48,
        "source_lines_after": 48,
        "cases_before": [
          {
            "case": "InputFieldSelector.ResolvesAliasesAndWildcard",
            "source_line": 8,
            "action": "keep",
            "reason": "Field alias/component/wildcard resolution and rejection of ambiguous/invalid symbols.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(bindings.size(), 2u);",
              "EXPECT_EQ(bindings[0].symbol_name, \"r\");",
              "EXPECT_EQ(bindings[0].field_index, 0u);",
              "EXPECT_EQ(bindings[0].fe_component, 0u);",
              "EXPECT_EQ(bindings[1].symbol_name, \"ux\");",
              "EXPECT_EQ(bindings[1].field_component, 0u);",
              "ASSERT_EQ(all.size(), 3u);",
              "EXPECT_EQ(all[0].symbol_name, \"radius\");",
              "EXPECT_EQ(all[1].symbol_name, \"velocity_0\");",
              "EXPECT_EQ(all[2].symbol_name, \"velocity_1\");"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "InputFieldSelector.RejectsAmbiguousAndInvalidSelectors",
            "source_line": 31,
            "action": "keep",
            "reason": "Field alias/component/wildcard resolution and rejection of ambiguous/invalid symbols.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(InputFieldSelector::resolve(\"radius\", catalog),",
              "EXPECT_THROW(InputFieldSelector::resolve(\"x=point:radius\", catalog),",
              "EXPECT_THROW(InputFieldSelector::resolve(\"r=point:radius[1]\", catalog),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "InputFieldSelector.RejectsInvalidWildcardAliases",
            "source_line": 43,
            "action": "keep",
            "reason": "Field alias/component/wildcard resolution and rejection of ambiguous/invalid symbols.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(InputFieldSelector::resolve(\"*\", catalog), std::runtime_error);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/kinsol_adapter_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "9f765e7e4259a83fd07621fe499f1c6f6ce80dc27807218c52c08d18f65bba69",
      "candidate_source_sha256": "9f765e7e4259a83fd07621fe499f1c6f6ce80dc27807218c52c08d18f65bba69",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Distributed nonlinear solve through the supported KINSOL adapter.",
        "source_lines_before": 153,
        "source_lines_after": 153,
        "cases_before": [
          {
            "case": "KINSOLAdapter.MPI_NonlinearScalarSolve",
            "source_line": 111,
            "action": "keep",
            "reason": "Distributed nonlinear solve through the supported KINSOL adapter.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(adapter.field(action, field.fields())(index), 2.);",
              "EXPECT_DOUBLE_EQ(adapter.field(action, field.fields())(index), 6.);",
              "EXPECT_GT(adapter.solve(state), 0u);",
              "EXPECT_NEAR(adapter.field(state, field.fields())(index),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_KINSOLAdapter",
                "rank": 0,
                "seconds": 0.044,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/known_term_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "e89766e6bc7f5bc62a190527588b70b7b518b2c28ce9efa5b5947b666d4f7527",
      "candidate_source_sha256": "e89766e6bc7f5bc62a190527588b70b7b518b2c28ce9efa5b5947b666d4f7527",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Time/material/boundary forcing, frozen FE input, independent physical quadrature and essential-value lifting without a spurious Jacobian.",
        "source_lines_before": 352,
        "source_lines_after": 352,
        "cases_before": [
          {
            "case": "KnownTerm.TimeDependentVolumeSourceHasNoJacobian",
            "source_line": 85,
            "action": "keep",
            "reason": "Time/material/boundary forcing, frozen FE input, independent physical quadrature and essential-value lifting without a spurious Jacobian.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(term.dependencies().empty());",
              "EXPECT_LT(residual_at_two.l2_norm(), 1.e-12);",
              "EXPECT_FALSE(model.has_state_operator(target.field_id(), target.field_id()));",
              "EXPECT_FALSE(model.has_derivative_terms());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_KnownTerm",
                "rank": null,
                "seconds": 0.014,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "KnownTerm.MaterialAndBoundaryOverridesUseFallbackContext",
            "source_line": 119,
            "action": "keep",
            "reason": "Time/material/boundary forcing, frozen FE input, independent physical quadrature and essential-value lifting without a spurious Jacobian.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(saw_material);",
              "EXPECT_TRUE(saw_boundary);",
              "EXPECT_GT(boundary_h, 0.);",
              "EXPECT_GT(boundary_normal.norm(), 0.);",
              "EXPECT_GT(residual.l2_norm(), 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_KnownTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "KnownTerm.FrozenFiniteElementSourceReusesObservableMachinery",
            "source_line": 163,
            "action": "keep",
            "reason": "Time/material/boundary forcing, frozen FE input, independent physical quadrature and essential-value lifting without a spurious Jacobian.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(residual.l2_norm(), 0.);",
              "EXPECT_FALSE("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_KnownTerm",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BoundaryRegionMatchesFaceMassPairing",
            "source_line": 190,
            "action": "keep",
            "reason": "Time/material/boundary forcing, frozen FE input, independent physical quadrature and essential-value lifting without a spurious Jacobian.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "EXPECT_TRUE(model.has_state_operator(target.field_id(), source.field_id()));"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.014,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "KnownTerm.IndependentPhysicalSupportUsesExactPointValuesAndWeights",
            "source_line": 277,
            "action": "keep",
            "reason": "Time/material/boundary forcing, frozen FE input, independent physical quadrature and essential-value lifting without a spurious Jacobian.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(std::accumulate(residual.begin(), residual.end(), 0.),",
              "EXPECT_FALSE(model.has_state_operator(target.id(), target.id()));",
              "EXPECT_THROW(known_term(source, test(target)).on_boundary(0).on(support),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_KnownTerm",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "KnownTerm.PhysicalVolumePairingRetainsEssentialOffsets",
            "source_line": 304,
            "action": "keep",
            "reason": "Time/material/boundary forcing, frozen FE input, independent physical quadrature and essential-value lifting without a spurious Jacobian.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(residual.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_KnownTerm",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/laplacian_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "c3499f236783b9ea42f8f14403f3d1de35c8afa90855a48d158342b4dbf5ccdb",
      "candidate_source_sha256": "c3499f236783b9ea42f8f14403f3d1de35c8afa90855a48d158342b4dbf5ccdb",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Native quadratic Poisson polynomial observed in VTK, including unconstrained interior points and both cell families.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "LaplacianValidation",
            "name": "BOTH_SimplexQuadraticSolution",
            "macro": "TEST",
            "source_line": 91,
            "action": "keep",
            "reason": "Native quadratic Poisson polynomial observed in VTK, including unconstrained interior points and both cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Native quadratic Poisson polynomial observed in VTK, including unconstrained interior points and both cell families.",
            "ci_debug_observations": []
          },
          {
            "suite": "LaplacianValidation",
            "name": "BOTH_HypercubeQuadraticSolution",
            "macro": "TEST",
            "source_line": 96,
            "action": "keep",
            "reason": "Native quadratic Poisson polynomial observed in VTK, including unconstrained interior points and both cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Native quadratic Poisson polynomial observed in VTK, including unconstrained interior points and both cell families.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/large_networks_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "fdc303eb0c0a90eac584b571416e6774133642f4951a4f7a2058f184c1ea5687",
      "candidate_source_sha256": "3ea112bb0bf21d7edc162c46550c43bf3e732d5a01eb0ed538e4614437ca9018",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Branching-network VTK topology and Poisson assembly replaced by a three-edge exact regression; large tutorial data remain available.",
        "source_lines_before": 188,
        "source_lines_after": 137,
        "cases_before": [
          {
            "case": "LargeNetworks.TerminalNodes",
            "source_line": 55,
            "action": "reduce-fixture",
            "reason": "Replace1000-vertex imported tree by four-vertex branching fixture; strengthen to exact cell/vertex/leaf and path-distance checks.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_DOUBLE_EQ(path_lengths(0), 0.0);",
              "ASSERT_GT(boundary_points.size(), 0U);",
              "ASSERT_EQ(boundary_ids.size(), 1U);",
              "EXPECT_EQ(cell->face(f)->boundary_id(), expected_boundary_id);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LargeNetworks",
                "rank": null,
                "seconds": 0.017,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LargeNetworksValidation.SolvePoisson",
            "source_line": 95,
            "action": "reduce-fixture",
            "reason": "Replace1000-DoF output-only demonstration by three unit edges; exact nodal values1,3.5,4,4 independently check root Dirichlet, natural leaf conditions and junction balance. No VTK solve output is written.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(found_vertex_0) << \"Could not find DoF for vertex 0.\";"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [],
            "observed_in_quick_ci": false
          },
          {
            "case": "LargeNetworks.RequiresVTK",
            "source_line": 183,
            "action": "keep",
            "reason": "Branching-network VTK topology and Poisson assembly replaced by a three-edge exact regression; large tutorial data remain available.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"LargeNetworks tests require deal.II VTK support.\";"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [],
            "observed_in_quick_ci": false
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/legacy_inclusions_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "fbb9784f9a1e386a31bbc36eada52f998e113048dcb63b29bc8f5cdedc4f55f6",
      "candidate_source_sha256": "fbb9784f9a1e386a31bbc36eada52f998e113048dcb63b29bc8f5cdedc4f55f6",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Supported legacy input adapter: geometry, properties, Fourier ordering/normalization and representative-cell Jacobian. These remain live production paths.",
        "source_lines_before": 218,
        "source_lines_after": 218,
        "cases_before": [
          {
            "case": "LegacyInclusions.PointCloud2DUsesCanonicalPropertiesAndThickness",
            "source_line": 22,
            "action": "keep",
            "reason": "Supported legacy input adapter: geometry, properties, Fourier ordering/normalization and representative-cell Jacobian. These remain live production paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(space.initialize());",
              "ASSERT_EQ(space.n_representative_entities(), 2u);",
              "ASSERT_EQ(space.n_representative_dofs_per_entity(), 3u);",
              "ASSERT_EQ(space.get_properties_bindings().size(), 4u);",
              "EXPECT_EQ(space.get_properties_catalog()[0].association,",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(0), 0.25);",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(1), 0.5);",
              "ASSERT_EQ(first.size(), 4u);",
              "EXPECT_DOUBLE_EQ(first[0], 1.0);",
              "EXPECT_DOUBLE_EQ(first[1], 2.0);",
              "EXPECT_DOUBLE_EQ(first[2], 3.0);",
              "EXPECT_DOUBLE_EQ(first[3], 0.25);",
              "EXPECT_NEAR(local_measure, 2. * numbers::PI * (0.25 + 0.5), 1e-3);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LegacyInclusions",
                "rank": null,
                "seconds": 0.063,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LegacyInclusions.Vector2DInstantiationUsesSelectedReferenceBasis",
            "source_line": 64,
            "action": "keep",
            "reason": "Supported legacy input adapter: geometry, properties, Fourier ordering/normalization and representative-cell Jacobian. These remain live production paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(space.initialize());",
              "EXPECT_EQ(space.n_representative_entities(), 2u);",
              "EXPECT_EQ(space.n_representative_dofs(), 4u);",
              "EXPECT_EQ(space.n_representative_dofs_per_entity(), 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LegacyInclusions",
                "rank": null,
                "seconds": 0.009,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LegacyInclusions.Segment3DReconstructsCellsAndProperties",
            "source_line": 85,
            "action": "keep",
            "reason": "Supported legacy input adapter: geometry, properties, Fourier ordering/normalization and representative-cell Jacobian. These remain live production paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(space.initialize());",
              "EXPECT_EQ(tria.n_global_active_cells(), 3u);",
              "EXPECT_EQ(tria.n_vertices(), 5u);",
              "ASSERT_EQ(space.get_properties_catalog().size(), 5u);",
              "EXPECT_EQ(space.get_properties_catalog()[0].name, \"radius\");",
              "EXPECT_EQ(space.get_properties_catalog()[1].name, \"vessel_id\");",
              "EXPECT_EQ(space.get_properties_catalog()[2].name, \"coefficient_0\");",
              "EXPECT_EQ(space.get_properties_bindings().size(), 5u);",
              "EXPECT_DOUBLE_EQ(values[dof_indices[0]], radii[record]);",
              "EXPECT_DOUBLE_EQ(values[dof_indices[1]], vessels[record]);",
              "EXPECT_DOUBLE_EQ(values[dof_indices[2]], coefficient_0[record]);",
              "EXPECT_DOUBLE_EQ(values[dof_indices[3]], coefficient_1[record]);",
              "EXPECT_DOUBLE_EQ(values[dof_indices[4]], coefficient_2[record]);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LegacyInclusions",
                "rank": null,
                "seconds": 0.068,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LegacyInclusions.BOTH_Segment3DMeasureUsesCellJacobian",
            "source_line": 159,
            "action": "keep",
            "reason": "Supported legacy input adapter: geometry, properties, Fourier ordering/normalization and representative-cell Jacobian. These remain live production paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";"
            ],
            "helper_checks": [
              "check_segment_3d_measure("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LegacyInclusions",
                "rank": 0,
                "seconds": 0.058,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LegacyInclusions",
                "rank": null,
                "seconds": 0.035,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LegacyInclusions.FourierNormalizationIsExplicit",
            "source_line": 168,
            "action": "keep",
            "reason": "Supported legacy input adapter: geometry, properties, Fourier ordering/normalization and representative-cell Jacobian. These remain live production paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(LegacyInclusions::fourier_to_reference_scale(0), 1.);",
              "EXPECT_DOUBLE_EQ(LegacyInclusions::fourier_to_reference_scale(1), 1.);",
              "EXPECT_DOUBLE_EQ(LegacyInclusions::fourier_to_reference_scale(2), 1.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LegacyInclusions",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LegacyInclusions.ReferenceBasisFollowsFourierOrdering",
            "source_line": 177,
            "action": "keep",
            "reason": "Supported legacy input adapter: geometry, properties, Fourier ordering/normalization and representative-cell Jacobian. These remain live production paths.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(canonical_indices, std::vector<unsigned int>({0, 1, 2, 4, 3}));",
              "EXPECT_GT(correlation, 0.95 * norm_square);",
              "EXPECT_LT(std::abs(correlation), 0.15 * norm_square);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LegacyInclusions",
                "rank": null,
                "seconds": 0.037,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/lifted_elasticity_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "7cd6629c9d8e50ff142639da1aa0a373eeb6aa28dd7fd7bdaf094f03c5ea0c53",
      "candidate_source_sha256": "b4b3d158a67e07251a3d0441f48e81ac6e5eb7648f9e798cb5ff49db35a70bcb",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "before_cases": [
          "LiftedElasticity.BOTH_StrongDirichlet2D",
          "LiftedElasticity.BOTH_StrongDirichlet3D",
          "LiftedElasticity.BOTH_Nitsche2D",
          "LiftedElasticity.BOTH_Nitsche3D",
          "LiftedElasticity.BOTH_MixedBoundaryConditions2D",
          "LiftedElasticity.BOTH_MixedBoundaryConditions3D",
          "LiftedElasticity.BOTH_ModalConstraint",
          "LiftedElasticity.BOTH_ModalPressure",
          "LiftedElasticity.BOTH_ModalAugmentedLagrangian",
          "LiftedElasticity.BOTH_ModalDirect",
          "LiftedElasticity.BOTH_ObliqueVariableRadiusConstraint",
          "LiftedElasticity.BOTH_ObliqueVariableRadiusPressure",
          "LiftedElasticity.BOTH_HeterogeneousHangingNodes2D",
          "LiftedElasticity.BOTH_HeterogeneousHangingNodes3D",
          "LiftedElasticity.BOTH_VariableRadiusModalConstraint",
          "LiftedElasticity.BOTH_VariableRadiusModalPressure",
          "LiftedElasticity.BOTH_NonstandardModalPressure",
          "LiftedElasticity.BOTH_NonstandardModalConstraint",
          "LiftedElasticity.BOTH_NonzeroBoundaryLiftManufacturedSolution",
          "LiftedElasticity.ObservableRegistrationUpdatesDependencies"
        ],
        "after_cases": [
          "LiftedElasticity.BOTH_StrongDirichlet2D",
          "LiftedElasticity.BOTH_StrongDirichlet3D",
          "LiftedElasticity.BOTH_Nitsche2D",
          "LiftedElasticity.BOTH_Nitsche3D",
          "LiftedElasticity.BOTH_MixedBoundaryConditions2D",
          "LiftedElasticity.BOTH_MixedBoundaryConditions3D",
          "LiftedElasticity.BOTH_ModalConstraint",
          "LiftedElasticity.BOTH_ModalPressure",
          "LiftedElasticity.BOTH_ModalAugmentedLagrangian",
          "LiftedElasticity.BOTH_ModalDirect",
          "LiftedElasticity.BOTH_ObliqueVariableRadiusConstraint",
          "LiftedElasticity.BOTH_ObliqueVariableRadiusPressure",
          "LiftedElasticity.BOTH_HeterogeneousHangingNodes2D",
          "LiftedElasticity.BOTH_HeterogeneousHangingNodes3D",
          "LiftedElasticity.BOTH_VariableRadiusModalConstraint",
          "LiftedElasticity.BOTH_VariableRadiusModalPressure",
          "LiftedElasticity.BOTH_NonstandardModalPressure",
          "LiftedElasticity.BOTH_NonstandardModalConstraint",
          "LiftedElasticity.BOTH_NonzeroBoundaryLiftManufacturedSolution",
          "LiftedElasticity.ObservableRegistrationUpdatesDependencies"
        ],
        "review_decision": "Use refinement 1 for uncoupled parity and pressure fixtures; use 3x3x3 cells for standard/oblique hard multiplier constraints and 4x4x3 for nonstandard angular modes. Assert full free-row coupling rank with an SVD before solving. Preserve all solution/modal/RHS/metric/coupling-action oracles; skip repeated solver-independent diagnostic assemblies only for AL/direct variants of the already checked default geometry. For the two nonstandard angular-mode cases only, use an axis-aligned variable radius 0.25 to 0.125 instead of 0.1 to 0.05, so the parity regression resolves the cross-section without a thin-cylinder conditioning stress; native and modern APIs and independent diagnostic expressions read the identical geometry. For the two nonstandard cases, reduce only cross-section refinement1 to0 and Gauss3 toGauss2: the cross-section is a one-dimensional circle perimeter approximated by affine MappingQ1 polygon segments. Two-point Gauss exactly integrates the Q1 mode products on each segment. Retain all three selected indices1,4,7, six multiplier unknowns, the48bulk cells and original tolerances. Add an independent analytic line-segment integral of the constant/x/y modal norms, including the variable-radius factor.",
        "distinct_contracts_and_redundancy_evidence": "Strong, weak, mixed, heterogeneous hanging-node, pressure, modal constraint, oblique/variable radius, nonstandard mode, direct and augmented-Lagrangian branches are active production paths. Mesh rank sufficiency must be verified before accepting each smaller case.",
        "baseline_ci_case_seconds": {
          "LiftedElasticity.BOTH_StrongDirichlet2D": 0.21,
          "LiftedElasticity.BOTH_StrongDirichlet3D": 1.744,
          "LiftedElasticity.BOTH_Nitsche2D": 0.206,
          "LiftedElasticity.BOTH_Nitsche3D": 2.649,
          "LiftedElasticity.BOTH_MixedBoundaryConditions2D": 0.252,
          "LiftedElasticity.BOTH_MixedBoundaryConditions3D": 1.965,
          "LiftedElasticity.BOTH_ModalConstraint": 23.505,
          "LiftedElasticity.BOTH_ModalPressure": 3.478,
          "LiftedElasticity.BOTH_ModalAugmentedLagrangian": 7.917,
          "LiftedElasticity.BOTH_ModalDirect": 3.526,
          "LiftedElasticity.BOTH_ObliqueVariableRadiusConstraint": 13.271,
          "LiftedElasticity.BOTH_ObliqueVariableRadiusPressure": 5.347,
          "LiftedElasticity.BOTH_HeterogeneousHangingNodes2D": 0.404,
          "LiftedElasticity.BOTH_HeterogeneousHangingNodes3D": 10.007,
          "LiftedElasticity.BOTH_VariableRadiusModalConstraint": 26.45,
          "LiftedElasticity.BOTH_VariableRadiusModalPressure": 3.978,
          "LiftedElasticity.BOTH_NonstandardModalPressure": 6.972,
          "LiftedElasticity.BOTH_NonstandardModalConstraint": 59.184,
          "LiftedElasticity.BOTH_NonzeroBoundaryLiftManufacturedSolution": 15.748,
          "LiftedElasticity.ObservableRegistrationUpdatesDependencies": 0.005
        },
        "removed_cases": [],
        "renamed_cases": {},
        "failed_fixture_experiments": [
          "Uniform refinement 1 gives only three free displacement unknowns against six modal multipliers; produced near-singular large states and was rejected.",
          "Coarse circle with oddGauss3 hits a zero sum of angular mode directions at segment midpoints and is rejected by observable_lift; coarseGauss2 avoids this while integrating piecewise-Q1 products exactly.",
          "Hypercube section is a one-dimensional line in this TensorProduct<1,2,3> configuration and cannot contain all three selected modes; rejected immediately without changing indices or assertions."
        ],
        "conditioning_conditions": {
          "nonstandard_mode_indices": [
            1,
            4,
            7
          ],
          "radius": "0.25-0.125*z",
          "contained_in_bulk": true,
          "rank_oracle": "smallest singular value of unconstrained coupling rows >1e-10 times largest",
          "unchanged_oracles": [
            "native-modern displacement parity 2e-7",
            "modal parity 2e-6",
            "residual 1e-9",
            "independent physical modal metric",
            "independent radius-dependent modal RHS",
            "independent coupling action"
          ],
          "measurement_limit": "The 48-cell thin-radius test was 65.068s DebugSerial versus original 64-cell same-hardware baseline60.933s; fewer cells alone was not a proven speedup. Earlier MPI timings used default binding and may contend with other local mpirun jobs; final wide runs disable binding.",
          "final_seconds": {
            "DebugMPI": 24.386,
            "DebugSerial": 29.423,
            "ReleaseMPI": 12.033,
            "ReleaseSerial": 11.773
          },
          "performance_conclusion": "Final DebugSerial NonstandardModalConstraint29.423s, versus66.097s with refined section:2.25x improvement with same48bulk cells, modes1/4/7, sixQ1multipliers, radiuslaw and original tolerances, plus an independent analytic norm oracle.",
          "cross_section": {
            "dimension": 1,
            "geometry": "coarse circle perimeter, affine MappingQ1 polygon segments",
            "refinement_level": 0,
            "gauss_order": 2,
            "quadrature_points_per_section_before": 24,
            "quadrature_points_per_section_after": 8,
            "independent_norm_oracle": "For each polygon segment with endpoints a,b and lengthL, integrate linear mode squared as L(a²+ab+b²)/3, normalize by maximum nodal amplitude, multiply by integral r(z)dz=.1875. Constant mode has squared norm equal to polygon perimeter. No native metric or test quadrature is used for this oracle."
          },
          "profile_coarse_debug_seconds": {
            "native": 0.579646,
            "modern_setup": 0.160686,
            "modern_solve": 27.0737,
            "independent_metric_rhs": 0.0327046,
            "independent_coupling_matrix": 1.1347,
            "total": 29.006
          }
        }
      }
    },
    {
      "path": "gtests/lifted_elasticity_simplex_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "b53a7fd2ca1b2dc2c9e1c97522bb683f8049685e03187aec1451effe3c373ca1",
      "candidate_source_sha256": "2cd7a7bb7121c594958a4e197275c58e76ee79ee14c11e0fa5ae3a57246f1364",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "before_cases": [
          "LiftedElasticity.BOTH_SimplexQuadraticStrong",
          "LiftedElasticity.BOTH_SimplexQuadraticWeak",
          "LiftedElasticity.BOTH_HypercubeQuadraticBoundary",
          "LiftedElasticity.BOTH_SimplexQuadraticMultiplier"
        ],
        "after_cases": [
          "LiftedElasticity.BOTH_SimplexQuadraticStrong",
          "LiftedElasticity.BOTH_SimplexQuadraticWeak",
          "LiftedElasticity.BOTH_HypercubeQuadraticBoundary",
          "LiftedElasticity.BOTH_SimplexQuadraticMultiplier"
        ],
        "review_decision": "Retain quadratic manufactured solutions on simplex/hypercube with strong/weak boundaries and zero exact multiplier. Use the six-tetrahedron cube only for uncoupled P2 strong/weak manufactured solutions; retain the 48-tetrahedron multiplier saddle fixture.",
        "distinct_contracts_and_redundancy_evidence": "Already uses unrefined meshes; exact nonzero forcing and boundary data exercise geometry and lifting, independently of native parity tests.",
        "baseline_ci_case_seconds": {
          "LiftedElasticity.BOTH_SimplexQuadraticStrong": 1.588,
          "LiftedElasticity.BOTH_SimplexQuadraticWeak": 1.592,
          "LiftedElasticity.BOTH_HypercubeQuadraticBoundary": 1.094,
          "LiftedElasticity.BOTH_SimplexQuadraticMultiplier": 4.455
        },
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/lifted_integration_support_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "46fbebf36584e5da65ce1e8b76ca742fd8a23dd8498e5afe9bca58164dfe6d67",
      "candidate_source_sha256": "46fbebf36584e5da65ce1e8b76ca742fd8a23dd8498e5afe9bca58164dfe6d67",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "before_cases": [
          "LiftedIntegrationSupport.BOTH_UsesPhysicalQuadratureWithoutAField",
          "LiftedIntegrationSupport.RejectsInvalidThickness",
          "LiftedIntegrationSupport.BOTH_OwnershipAndIdsArePartitionIndependent",
          "LiftedIntegrationSupport.BOTH_IntegratesFrozenNonconstantThickness",
          "LiftedIntegrationSupport.BOTH_RotatedRepresentativeLineUsesPhysicalGeometry",
          "LiftedIntegrationSupport.BOTH_AssemblesBulkMassOnPhysicalQuadrature",
          "LiftedIntegrationSupport.BOTH_SourceBulkLiftSamplesPhysicalPoints",
          "LiftedIntegrationSupport.BOTH_SelectedVectorModesPreserveAmplitudeAndRegistration",
          "LiftedIntegrationSupport.BOTH_ReassemblesChangedConstraintStructureCollectively",
          "LiftedIntegrationSupport.BOTH_VectorLiftHangingNodesAndAffineSourceShift",
          "LiftedIntegrationSupport.BOTH_VectorLiftAutomaticAffineUpdatesAndExplicitMatrixReuse",
          "LiftedIntegrationSupport.BOTH_NormalVolumeLifts",
          "LiftedIntegrationSupport.BOTH_ElastodynamicsMovingDirichlet",
          "LiftedIntegrationSupport.NonlinearRepresentativeJacobianUsesExecutionIndices",
          "LiftedIntegrationSupport.BOTH_NonlinearHpFieldsUseActiveCellElements"
        ],
        "after_cases": [
          "LiftedIntegrationSupport.BOTH_UsesPhysicalQuadratureWithoutAField",
          "LiftedIntegrationSupport.RejectsInvalidThickness",
          "LiftedIntegrationSupport.BOTH_OwnershipAndIdsArePartitionIndependent",
          "LiftedIntegrationSupport.BOTH_IntegratesFrozenNonconstantThickness",
          "LiftedIntegrationSupport.BOTH_RotatedRepresentativeLineUsesPhysicalGeometry",
          "LiftedIntegrationSupport.BOTH_AssemblesBulkMassOnPhysicalQuadrature",
          "LiftedIntegrationSupport.BOTH_SourceBulkLiftSamplesPhysicalPoints",
          "LiftedIntegrationSupport.BOTH_SelectedVectorModesPreserveAmplitudeAndRegistration",
          "LiftedIntegrationSupport.BOTH_ReassemblesChangedConstraintStructureCollectively",
          "LiftedIntegrationSupport.BOTH_VectorLiftHangingNodesAndAffineSourceShift",
          "LiftedIntegrationSupport.BOTH_VectorLiftAutomaticAffineUpdatesAndExplicitMatrixReuse",
          "LiftedIntegrationSupport.BOTH_NormalVolumeLifts",
          "LiftedIntegrationSupport.BOTH_ElastodynamicsMovingDirichlet",
          "LiftedIntegrationSupport.NonlinearRepresentativeJacobianUsesExecutionIndices",
          "LiftedIntegrationSupport.BOTH_NonlinearHpFieldsUseActiveCellElements"
        ],
        "review_decision": "Retain small contract-level tests; no expensive solve loops or obsolete path found.",
        "distinct_contracts_and_redundancy_evidence": "Checks cover physical quadrature measures/normal directions/stable ownership IDs, frozen radius, rotated geometry, mixed FE mass action, physical-point sampling, selected vector modes, changed affine topology, hanging source values, persistent operator reuse, codimensions, moving Dirichlet data, nonidentity execution indexing and hp active FE elements. These contracts differ even where helper geometry is reused.",
        "baseline_ci_case_seconds": {
          "LiftedIntegrationSupport.BOTH_UsesPhysicalQuadratureWithoutAField": 0.024,
          "LiftedIntegrationSupport.RejectsInvalidThickness": 0.006,
          "LiftedIntegrationSupport.BOTH_OwnershipAndIdsArePartitionIndependent": 0.01,
          "LiftedIntegrationSupport.BOTH_IntegratesFrozenNonconstantThickness": 0.007,
          "LiftedIntegrationSupport.BOTH_RotatedRepresentativeLineUsesPhysicalGeometry": 0.009,
          "LiftedIntegrationSupport.BOTH_AssemblesBulkMassOnPhysicalQuadrature": 0.035,
          "LiftedIntegrationSupport.BOTH_SourceBulkLiftSamplesPhysicalPoints": 0.059,
          "LiftedIntegrationSupport.BOTH_SelectedVectorModesPreserveAmplitudeAndRegistration": 0.033,
          "LiftedIntegrationSupport.BOTH_ReassemblesChangedConstraintStructureCollectively": 0.039,
          "LiftedIntegrationSupport.BOTH_VectorLiftHangingNodesAndAffineSourceShift": 0.089,
          "LiftedIntegrationSupport.BOTH_VectorLiftAutomaticAffineUpdatesAndExplicitMatrixReuse": 0.109,
          "LiftedIntegrationSupport.BOTH_NormalVolumeLifts": 0.043,
          "LiftedIntegrationSupport.BOTH_ElastodynamicsMovingDirichlet": 0.413,
          "LiftedIntegrationSupport.NonlinearRepresentativeJacobianUsesExecutionIndices": 0.035,
          "LiftedIntegrationSupport.BOTH_NonlinearHpFieldsUseActiveCellElements": 0.129
        },
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/lifted_poisson_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "c31d827ec12fcca492bf5c71d986f75e4aeb290585371d69c00883a3d8c636ad",
      "candidate_source_sha256": "c31d827ec12fcca492bf5c71d986f75e4aeb290585371d69c00883a3d8c636ad",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "before_cases": [
          "LiftedPoisson.BOTH_NonzeroBoundaryAndMultipleModes"
        ],
        "after_cases": [
          "LiftedPoisson.BOTH_NonzeroBoundaryAndMultipleModes"
        ],
        "review_decision": "Retain nonzero boundary multiple-mode solve and persistent boundary refresh.",
        "distinct_contracts_and_redundancy_evidence": "Changing boundary data after retaining the coupling matrix is not covered by the manufactured steady forcing or legacy parity tests.",
        "baseline_ci_case_seconds": {
          "LiftedPoisson.BOTH_NonzeroBoundaryAndMultipleModes": 1.283
        },
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/lifted_poisson_application_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "9b84e60eeef4a43ec4664032e4f8f13107f1d881463facf686e50aa38fe400e3",
      "candidate_source_sha256": "9b84e60eeef4a43ec4664032e4f8f13107f1d881463facf686e50aa38fe400e3",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "before_cases": [
          "LiftedPoissonApplication.BOTH_AdaptiveOutputAndDiagnostics",
          "LiftedPoissonApplication.BOTH_DefaultSelectedModes",
          "LiftedPoissonApplication.BOTH_ImportedModalDataAndAliases"
        ],
        "after_cases": [
          "LiftedPoissonApplication.BOTH_AdaptiveOutputAndDiagnostics",
          "LiftedPoissonApplication.BOTH_DefaultSelectedModes",
          "LiftedPoissonApplication.BOTH_ImportedModalDataAndAliases"
        ],
        "review_decision": "Retain application output/adaptivity, default-mode selection and imported modal aliases.",
        "distinct_contracts_and_redundancy_evidence": "These tests assert files and CSV schema/cell growth, so output is part of the contract; default selected indices and imported expression aliases are distinct parsing branches.",
        "baseline_ci_case_seconds": {},
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/lifted_poisson_manufactured_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "ebc674929c58aa1062036330a8204c327ae8aacab5dab774a6123625660b751b",
      "candidate_source_sha256": "ebc674929c58aa1062036330a8204c327ae8aacab5dab774a6123625660b751b",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "before_cases": [
          "LiftedPoisson.BOTH_ManufacturedForcingAndHangingNodes"
        ],
        "after_cases": [
          "LiftedPoisson.BOTH_ManufacturedForcingAndHangingNodes"
        ],
        "review_decision": "Retain the original refinement-2 manufactured hanging-node fixture unchanged (baseline CI 3.702s serial, 2.311s MPI); its P2 forcing/zero-multiplier/exact-solution and positive hanging-node oracles are distinct and inexpensive.",
        "distinct_contracts_and_redundancy_evidence": "An exact polynomial consistency test does not need a convergence-sized mesh. The hanging-node assertion guards against smoothing removing the intended branch.",
        "baseline_ci_case_seconds": {
          "LiftedPoisson.BOTH_ManufacturedForcingAndHangingNodes": 3.702
        },
        "removed_cases": [],
        "renamed_cases": {},
        "failed_fixture_experiments": [
          "Uniform refinement 1 loses its isolated local refinement under default smoothing and fails the positive hanging-node assertion. Disabling island smoothing on the smaller fixture remained CPU-bound until the 120-second timeout; rejected without weakening any oracle."
        ]
      }
    },
    {
      "path": "gtests/lifted_poisson_parity_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "6aef7c6b75da1a9d2ad20ab5074c3cbc97675f57a5413b6a2540f7138dd9bef0",
      "candidate_source_sha256": "26b9c95ae669fb603828fdddad2055a0f0005e25f31bf912eeaa8862c76d817d",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "before_cases": [
          "LiftedPoisson.BOTH_LegacySingleCylinderParity",
          "LiftedPoisson.BOTH_LegacyMultipleModesParity",
          "LiftedPoisson.BOTH_LegacyVariableRadiusParity",
          "LiftedPoisson.BOTH_LegacyNetworkParity",
          "LiftedPoisson.BOTH_LegacyImmersedPartitionParity",
          "LiftedPoisson.BOTH_LegacyImportedModalDataParity"
        ],
        "after_cases": [
          "LiftedPoisson.BOTH_LegacySingleCylinderParity",
          "LiftedPoisson.BOTH_LegacyMultipleModesParity",
          "LiftedPoisson.BOTH_LegacyVariableRadiusParity",
          "LiftedPoisson.BOTH_LegacyNetworkParity",
          "LiftedPoisson.BOTH_LegacyImmersedPartitionParity",
          "LiftedPoisson.BOTH_LegacyImportedModalDataParity"
        ],
        "review_decision": "Compare legacy/modern Schur on all six geometry/data/partition variants; retain Schur-versus-AL crossover only for single and multiple modes. Remove embedded pre-refinement (the network still has three cells and active ranks); remove a duplicate full coupling scan used only for a printed sum, since entrywise matrix parity remains.",
        "distinct_contracts_and_redundancy_evidence": "The four network/variable/imported/immersed variants previously reassembled identical matrix/load oracles and solved each geometry four times merely to repeat generic solver-policy parity. Legacy ReducedPoisson remains an active app, so geometry parity is not deleted as obsolete.",
        "baseline_ci_case_seconds": {
          "LiftedPoisson.BOTH_LegacySingleCylinderParity": 2.307,
          "LiftedPoisson.BOTH_LegacyMultipleModesParity": 6.523,
          "LiftedPoisson.BOTH_LegacyVariableRadiusParity": 6.607,
          "LiftedPoisson.BOTH_LegacyNetworkParity": 28.033,
          "LiftedPoisson.BOTH_LegacyImmersedPartitionParity": 27.429,
          "LiftedPoisson.BOTH_LegacyImportedModalDataParity": 28.158
        },
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/lifted_poisson_simplex_01.cc",
      "review_category": "fixtures",
      "baseline_source_sha256": "c2df099daafb954373258195c0b3aefe2dfe78d4d8bc8438675569042bb7332d",
      "candidate_source_sha256": "c2df099daafb954373258195c0b3aefe2dfe78d4d8bc8438675569042bb7332d",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "before_cases": [
          "LiftedPoissonApplication.BOTH_SimplexQuadraticSolution"
        ],
        "after_cases": [
          "LiftedPoissonApplication.BOTH_SimplexQuadraticSolution"
        ],
        "review_decision": "Retain exact quadratic simplex application diagnostics.",
        "distinct_contracts_and_redundancy_evidence": "Small mesh, nonzero exact solution, residual/multiplier/L2/H1 checks and CSV parsing cover the application path rather than only library assembly.",
        "baseline_ci_case_seconds": {},
        "removed_cases": [],
        "renamed_cases": {}
      }
    },
    {
      "path": "gtests/linear_adapter_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "ed4a2cd653f176b9afcd32de72dab63e11760bf9231e40cc8cb1d55a33358f3b",
      "candidate_source_sha256": "ed4a2cd653f176b9afcd32de72dab63e11760bf9231e40cc8cb1d55a33358f3b",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Direct contributor access and parameters, distinct triangular forward/transpose actions and Schur participants with different spaces.",
        "source_lines_before": 631,
        "source_lines_after": 631,
        "cases_before": [
          {
            "case": "LinearAdapter.DirectContributorAndSemanticFieldAccess",
            "source_line": 296,
            "action": "keep",
            "reason": "Direct contributor access and parameters, distinct triangular forward/transpose actions and Schur participants with different spaces.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(state.n_blocks(), 1u);",
              "EXPECT_NEAR(adapter.field(state, fields.fields().solution)[0], 1., 1.e-12);",
              "EXPECT_NEAR(adapter.field(state, fields.fields().solution)[1], 2., 1.e-12);",
              "EXPECT_TRUE(adapter.has_local_preconditioner(fields.fields().solution));",
              "ASSERT_TRUE(local.has_value());",
              "EXPECT_GT(preconditioned.l2_norm(), 0.);",
              "EXPECT_GT(block_diagonal_action.l2_norm(), 0.);",
              "EXPECT_NEAR(adapter.field(block_lower_action, fields.fields().solution)[0],",
              "EXPECT_NEAR(adapter.field(block_lower_action, fields.fields().solution)[1],",
              "ASSERT_EQ(adapter.saddle_points().size(), 1u);",
              "EXPECT_GT(schur_action.l2_norm(), 0.);",
              "EXPECT_GT(augmented_action.l2_norm(), 0.);",
              "EXPECT_TRUE(adapter.can_materialize_matrix(state));",
              "EXPECT_EQ(block_matrix.n_block_rows(), 1u);",
              "EXPECT_EQ(monolithic.m(), 2u);",
              "EXPECT_NEAR(adapter.field(block_action, fields.fields().solution)[0],",
              "EXPECT_NEAR(adapter.field(block_action, fields.fields().solution)[1],",
              "EXPECT_NEAR(monolithic_action[0],",
              "EXPECT_NEAR(monolithic_action[1],",
              "EXPECT_NEAR(adapter.field(unpacked, fields.fields().solution)[0], 1., 1.e-12);",
              "EXPECT_NEAR(adapter.field(unpacked, fields.fields().solution)[1], 2., 1.e-12);",
              "EXPECT_NEAR(adapter.field(state, fields.fields().solution)[0], 1., 1.e-12);",
              "EXPECT_NEAR(adapter.field(state, fields.fields().solution)[1], 2., 1.e-12);",
              "EXPECT_NEAR(default_adapter.field(default_state,",
              "EXPECT_NEAR(default_adapter.field(default_state,",
              "EXPECT_NEAR(direct_adapter.field(direct_state,",
              "EXPECT_NEAR(direct_adapter.field(direct_state,",
              "EXPECT_NEAR(direct_adapter.field(direct_state,",
              "EXPECT_NEAR(direct_adapter.field(direct_state,",
              "EXPECT_NEAR(direct_adapter.field(direct_state,",
              "EXPECT_NEAR(residual.l2_norm(), 0., 1.e-12);",
              "EXPECT_NEAR(direct_adapter.field(changed_direct_state,",
              "EXPECT_NEAR(direct_adapter.field(changed_direct_state,"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LinearAdapter",
                "rank": null,
                "seconds": 0.071,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LinearAdapter.ParameterAcceptorControlsSolverOptions",
            "source_line": 472,
            "action": "keep",
            "reason": "Direct contributor access and parameters, distinct triangular forward/transpose actions and Schur participants with different spaces.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(options.solver, ImmersX::LinearSolver::direct);",
              "EXPECT_EQ(options.preconditioner,",
              "EXPECT_EQ(options.maximum_iterations, 37u);",
              "EXPECT_DOUBLE_EQ(options.tolerance, 1.e-9);",
              "EXPECT_DOUBLE_EQ(options.augmented_lagrangian_parameter, 4.5);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LinearAdapter",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LinearAdapter.TwoFieldTriangularTransposeIsDistinct",
            "source_line": 501,
            "action": "keep",
            "reason": "Direct contributor access and parameters, distinct triangular forward/transpose actions and Schur participants with different spaces.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(adapter.field(forward, fields.fields().u)[0], 3., 1.e-12);",
              "EXPECT_NEAR(adapter.field(forward, fields.fields().v)[0], -1., 1.e-12);",
              "EXPECT_NEAR(adapter.field(transpose, fields.fields().u)[0], -3., 1.e-12);",
              "EXPECT_NEAR(adapter.field(transpose, fields.fields().v)[0], 3., 1.e-12);",
              "EXPECT_NE(adapter.field(forward, fields.fields().u)[0],"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LinearAdapter",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LinearAdapter.SchurUsesDistinctParticipantSpacesAndTranspose",
            "source_line": 537,
            "action": "keep",
            "reason": "Direct contributor access and parameters, distinct triangular forward/transpose actions and Schur participants with different spaces.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(normal[0], 462., 1.e-12);",
              "EXPECT_NEAR(transpose[0], 693., 1.e-12);",
              "EXPECT_NEAR(adapter.field(augmented_normal, fields.fields().primal)[0],",
              "EXPECT_NEAR(adapter.field(augmented_normal, fields.fields().primal)[1],",
              "EXPECT_NEAR(adapter.field(augmented_transpose, fields.fields().primal)[0],",
              "EXPECT_NEAR(adapter.field(augmented_transpose, fields.fields().primal)[1],",
              "EXPECT_NEAR(adapter.field(preconditioned, fields.fields().multiplier)[0],",
              "EXPECT_NEAR(adapter.field(preconditioned, fields.fields().primal)[0],",
              "EXPECT_NEAR(adapter.field(preconditioned, fields.fields().primal)[1],",
              "EXPECT_NEAR(adapter.field(transposed_preconditioned,",
              "EXPECT_NEAR(adapter.field(transposed_preconditioned,",
              "EXPECT_NEAR(adapter.field(transposed_preconditioned,"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LinearAdapter",
                "rank": null,
                "seconds": 0.092,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/local_co_refinement_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "78327a80a45fc4ee8b9335819b6db4b53d3ce6b72d25db94c3c8f77bcd9bf12b",
      "candidate_source_sha256": "78327a80a45fc4ee8b9335819b6db4b53d3ce6b72d25db94c3c8f77bcd9bf12b",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
        "source_lines_before": 925,
        "source_lines_after": 925,
        "cases_before": [
          {
            "case": "LocalCoRefinement.BOTH_StrategiesAndFinalReports",
            "source_line": 234,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_GT(report.intersecting_pairs, 0u);",
              "EXPECT_EQ(embedded.triangulation().n_global_active_cells(), 4u);",
              "EXPECT_EQ(space.triangulation().n_global_active_cells(), 64u);"
            ],
            "helper_checks": [
              "check_report("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.085,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.054,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_TransfersBothDomainsAndDefersFullyDistributed",
            "source_line": 264,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(embedded.triangulation().n_global_active_cells(), 0u);",
              "EXPECT_EQ(space.triangulation().n_global_active_cells(), 0u);",
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_EQ(face->boundary_id(), 12u);",
              "EXPECT_FALSE(space.grid_is_prepared());",
              "EXPECT_FALSE(embedded.grid_is_prepared());",
              "EXPECT_TRUE(embedded.uses_fully_distributed_triangulation());"
            ],
            "helper_checks": [
              "check_fields(",
              "check_report("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.157,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.132,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_ReversedIntrinsicDimensions",
            "source_line": 320,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_GT(embedded.triangulation().n_global_active_cells(), 1u);"
            ],
            "helper_checks": [
              "check_report("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.035,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.021,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_ReportsUnresolvedViolations",
            "source_line": 339,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_FALSE(report.satisfied());",
              "EXPECT_GT(report.lower_violations, 0u);",
              "EXPECT_EQ(space.triangulation().n_global_active_cells(), 1u);"
            ],
            "helper_checks": [
              "check_report("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.021,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_PostRefinementIsLocalAndIndependentOfStrategy",
            "source_line": 366,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(space.triangulation().n_global_active_cells(), 40u);",
              "EXPECT_EQ(embedded.triangulation().n_global_active_cells(), 4u);",
              "EXPECT_EQ(cell->level(),"
            ],
            "helper_checks": [
              "check_report("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.02,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.017,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.RejectsInvalidFactorsAndFinalizedDomains",
            "source_line": 394,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(",
              "EXPECT_THROW((LocalCoRefinement<2, 1, 2>(parameters).run(space, embedded)),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.ParsesIndependentParameterGroups",
            "source_line": 418,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(first.embedded_partitioning_policy, \"immersed\");",
              "EXPECT_EQ(second.embedded_partitioning_policy, \"default\");",
              "EXPECT_EQ(first.refinement_strategy, \"both\");",
              "EXPECT_DOUBLE_EQ(first.lower_factor, 0.25);",
              "EXPECT_DOUBLE_EQ(first.upper_factor, 2.);",
              "EXPECT_EQ(second.refinement_strategy, \"embedded\");",
              "EXPECT_DOUBLE_EQ(second.lower_factor, 0.5);",
              "EXPECT_DOUBLE_EQ(second.upper_factor, 3.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.ParsesParametersAndChecksEquality",
            "source_line": 447,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(parameters.refinement_strategy, \"both\");",
              "EXPECT_DOUBLE_EQ(parameters.upper_factor, 2.5);",
              "EXPECT_EQ(space.n_active_cells(), 2u);",
              "EXPECT_EQ(embedded.n_active_cells(), 1u);",
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_EQ(embedded.n_active_cells(), 2u);",
              "EXPECT_TRUE(second.satisfied());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_DiscontinuousFieldsOnLocallyRefinedMesh",
            "source_line": 487,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(cell->material_id(), cell->center()[0] < .5 ? 7u : 9u);",
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_EQ(position.descriptor().n_components, 3u);",
              "EXPECT_EQ(other_position.descriptor().n_components, 3u);",
              "EXPECT_EQ(cell->material_id(), left ? 7u : 9u);",
              "EXPECT_NEAR(value, left ? 3.5 : 8.5, 1.e-12);",
              "EXPECT_NEAR(actual[q],",
              "EXPECT_NEAR(actual[q],"
            ],
            "helper_checks": [
              "check_report("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.117,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.106,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.DocumentationExamples",
            "source_line": 584,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(report.intersecting_pairs, 0u);",
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_FALSE(report.satisfied());"
            ],
            "helper_checks": [
              "check_report("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.763,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_ImmersedOwnershipPreservesFields",
            "source_line": 735,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_EQ(mismatches, 0u);",
              "EXPECT_EQ(cell->manifold_id(), 17u);",
              "EXPECT_NE((dynamic_cast<const FlatManifold<1, 2> *>(",
              "EXPECT_EQ(face->boundary_id(), 13u);",
              "EXPECT_GT(default_mismatches, 0u);"
            ],
            "helper_checks": [
              "check_fields(",
              "check_report("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.422,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.305,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.RejectsUnsupportedPartitioningBeforePreparation",
            "source_line": 803,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW((LocalCoRefinement<2, 2>(parameters).run(space, embedded)),",
              "EXPECT_FALSE(space.grid_is_prepared());",
              "EXPECT_FALSE(embedded.grid_is_prepared());",
              "EXPECT_EQ(space.triangulation().n_global_active_cells(), 0u);",
              "EXPECT_EQ(embedded.triangulation().n_global_active_cells(), 0u);",
              "EXPECT_THROW(",
              "EXPECT_FALSE(line.grid_is_prepared());",
              "EXPECT_FALSE(fully_embedded.grid_is_prepared());",
              "EXPECT_THROW(parameters.diameter_bounds(), ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.008,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_ImmersedPartitionSupportsTwoDimensionalCells",
            "source_line": 830,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_EQ(ownership_mismatches(space, embedded), 0u);"
            ],
            "helper_checks": [
              "check_fields("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.033,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.022,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_ImmersedPartitionHandlesEmptyRanks",
            "source_line": 850,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_EQ(ownership_mismatches(space, embedded), 0u);",
              "EXPECT_EQ(embedded.triangulation().n_global_active_cells(), 4u);",
              "EXPECT_EQ(Utilities::MPI::sum(empty, MPI_COMM_WORLD),"
            ],
            "helper_checks": [
              "check_fields("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.023,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.02,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_ImmersedVesselInThreeDimensions",
            "source_line": 877,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_EQ(ownership_mismatches(space, embedded), 0u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.081,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.071,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_ImmersedPartitionOfObservedDomain",
            "source_line": 904,
            "action": "keep",
            "reason": "Independent refinement strategies, imported field transfer, unresolved bounds, local post-refinement, observed domains and immersed partition/empty-rank support.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_EQ(&embedded.triangulation(), &owned_by_problem);",
              "EXPECT_EQ(ownership_mismatches(space, embedded), 0u);"
            ],
            "helper_checks": [
              "check_fields("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.027,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.017,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/local_co_refinement_applications_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "a186a3bb70e43e23af778917d110d6ac5fd25a128bac37c3a2205f404d48b009",
      "candidate_source_sha256": "a186a3bb70e43e23af778917d110d6ac5fd25a128bac37c3a2205f404d48b009",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Production elasticity/reduced-Poisson application wiring, property preservation, co-refinement bounds and nonzero solved/output state.",
        "source_lines_before": 183,
        "source_lines_after": 183,
        "cases_before": [
          {
            "case": "LocalCoRefinement.BOTH_ElasticityApplication",
            "source_line": 112,
            "action": "keep",
            "reason": "Production elasticity/reduced-Poisson application wiring, property preservation, co-refinement bounds and nonzero solved/output state.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_EQ(par.tensor_product_coupling_parameters.refinement_parameters",
              "EXPECT_EQ(problem.tria->n_global_active_cells(), 1u);",
              "ASSERT_NE(problem.tensor_product_coupling, nullptr);",
              "EXPECT_GT(problem.tria->n_global_active_cells(), 1u);",
              "EXPECT_GT(coupling.get_triangulation().n_global_active_cells(), 2u);",
              "EXPECT_GT(problem.system_rhs.block(1).l2_norm(), 0.);",
              "EXPECT_TRUE(std::isfinite(problem.solution.block(0).l2_norm()));",
              "EXPECT_GT(problem.solution.block(0).l2_norm(), 1.e-12);"
            ],
            "helper_checks": [
              "check_properties(",
              "check_size_bounds("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 2.16,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 1.79,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_ReducedPoissonApplication",
            "source_line": 147,
            "action": "keep",
            "reason": "Production elasticity/reduced-Poisson application wiring, property preservation, co-refinement bounds and nonzero solved/output state.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_EQ(",
              "EXPECT_GT(problem.n_reduced_dofs(), 3u);",
              "EXPECT_GT(problem.coupling_matrix_frobenius_norm(), 0.);",
              "EXPECT_TRUE(problem.bulk_solution_is_finite());",
              "EXPECT_TRUE(problem.multiplier_solution_is_finite());",
              "EXPECT_GT(problem.bulk_solution_l2_norm(), 1.e-12);",
              "EXPECT_GT(output_cells(std::filesystem::path(par.output_directory) / output),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.552,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.462,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/material_properties_checks.cc",
      "review_category": "core",
      "baseline_source_sha256": "83439ee1a5e17eb5844d9cfecc8856317a3ff191be980bd94bb0b8ab76489c00",
      "candidate_source_sha256": "83439ee1a5e17eb5844d9cfecc8856317a3ff191be980bd94bb0b8ab76489c00",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
        "source_lines_before": 573,
        "source_lines_after": 573,
        "cases_before": [
          {
            "case": "MaterialParameters.Default",
            "source_line": 37,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(in.good()) << \"Expected initialize_parameters() to generate \"",
              "EXPECT_NE(text.find(\"Material tags by material id\"), std::string::npos)",
              "EXPECT_NE(text.find(\"Estimate condition number\"), std::string::npos)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.07,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "MaterialParameters.StiffTagReadsSection",
            "source_line": 62,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(par.material_properties_by_id.size(), 2);",
              "ASSERT_NE(par.material_properties_by_id.at(0), nullptr);",
              "ASSERT_NE(par.material_properties_by_id.at(1), nullptr);",
              "EXPECT_NEAR(par.material_properties_by_id.at(0)->Lame_mu, 2.0, 1e-14);",
              "EXPECT_NEAR(par.material_properties_by_id.at(0)->Lame_lambda, 3.0, 1e-14);",
              "EXPECT_NEAR(par.material_properties_by_id.at(1)->Lame_mu, 20.0, 1e-14);",
              "EXPECT_NEAR(par.material_properties_by_id.at(1)->Lame_lambda, 30.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.103,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.DirichletFallbackCopiesDefaultConfiguration",
            "source_line": 100,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(par.dirichlet_bc_by_id.size(), 1);",
              "ASSERT_NE(par.dirichlet_bc_by_id.at(501), nullptr);",
              "EXPECT_NE(&override_bc, &default_bc);",
              "EXPECT_NEAR(override_bc.value(p, 0), default_bc.value(p, 0), 1e-14);",
              "EXPECT_NEAR(override_bc.value(p, 1), default_bc.value(p, 1), 1e-14);",
              "EXPECT_NEAR(override_bc.scale(0.125), default_bc.scale(0.125), 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.072,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.DirichletOverrideUsesBoundarySpecificSection",
            "source_line": 134,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(bc_501.value(p, 0), 10.0, 1e-14);",
              "EXPECT_NEAR(bc_501.value(p, 1), 20.0, 1e-14);",
              "EXPECT_NEAR(bc_501.scale(0.0), 1.0, 1e-14);",
              "EXPECT_NEAR(bc_502.value(p, 0), 1.0, 1e-14);",
              "EXPECT_NEAR(bc_502.value(p, 1), 2.0, 1e-14);",
              "EXPECT_NEAR(bc_502.scale(0.25), 1.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.081,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.NeumannOverrideUsesBoundarySpecificSection",
            "source_line": 173,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(bc_7.value(p, 0), 6.0, 1e-14);",
              "EXPECT_NEAR(bc_7.value(p, 1), 12.0, 1e-14);",
              "EXPECT_NEAR(bc_7.scale(0.0), std::sin(0.25), 1e-14);",
              "EXPECT_NEAR(bc_8.value(p, 0), 2.5, 1e-14);",
              "EXPECT_NEAR(bc_8.value(p, 1), 2.5, 1e-14);",
              "EXPECT_NEAR(bc_8.scale(0.5), 1.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.092,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "RhsParameters.MaterialFallbackCopiesDefaultConfiguration",
            "source_line": 212,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(par.rhs_by_material_id.size(), 1);",
              "ASSERT_NE(par.rhs_by_material_id.at(1), nullptr);",
              "EXPECT_NE(&override_rhs, &default_rhs);",
              "EXPECT_NEAR(override_rhs.value(p, 0), default_rhs.value(p, 0), 1e-14);",
              "EXPECT_NEAR(override_rhs.value(p, 1), default_rhs.value(p, 1), 1e-14);",
              "EXPECT_NEAR(override_rhs.scale(0.125), default_rhs.scale(0.125), 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.123,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "RhsParameters.MaterialOverrideUsesMaterialSpecificSection",
            "source_line": 246,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(rhs_1.value(p, 0), 10.0, 1e-14);",
              "EXPECT_NEAR(rhs_1.value(p, 1), 20.0, 1e-14);",
              "EXPECT_NEAR(rhs_1.scale(0.0), 1.0, 1e-14);",
              "EXPECT_NEAR(rhs_2.value(p, 0), 1.0, 1e-14);",
              "EXPECT_NEAR(rhs_2.value(p, 1), 2.0, 1e-14);",
              "EXPECT_NEAR(rhs_2.scale(0.25), 1.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.13,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.DirichletOverrideInheritsBaseConstants",
            "source_line": 285,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(bc_41.value(p, 0), 1.5, 1e-14);",
              "EXPECT_NEAR(bc_41.value(p, 1), 0.5, 1e-14);",
              "EXPECT_NEAR(bc_41.scale(0.125), std::sin(numbers::PI * 0.375 + 0.1), 1e-14);",
              "EXPECT_NEAR(bc_42.value(p, 0), 1.0, 1e-14);",
              "EXPECT_NEAR(bc_42.value(p, 1), 0.75, 1e-14);",
              "EXPECT_NEAR(bc_42.scale(0.125), std::sin(numbers::PI * 0.375 + 0.1), 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.092,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.DirichletWithSymbolicConstants",
            "source_line": 325,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(bc.value(p, 0), 0.5, 1e-14);",
              "EXPECT_NEAR(bc.value(p, 1), 1.5, 1e-14);",
              "EXPECT_NEAR(bc.scale(0.0), 1.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.09,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.DirichletBaseWithSymbolicConstantsMultipleBoundaries",
            "source_line": 355,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(bc_100.value(p, 0), 1.0, 1e-14);",
              "EXPECT_NEAR(bc_100.value(p, 1), 2.0, 1e-14);",
              "EXPECT_NEAR(bc_101.value(p, 0), 1.0, 1e-14);",
              "EXPECT_NEAR(bc_101.value(p, 1), 2.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.1,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.NeumannWithSymbolicConstants",
            "source_line": 388,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(bc.value(p, 0), 1.5, 1e-14);",
              "EXPECT_NEAR(bc.value(p, 1), 5.0, 1e-14);",
              "EXPECT_NEAR(bc.scale(0.0), 1.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.106,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.NeumannBaseWithSymbolicConstantsMultipleBoundaries",
            "source_line": 418,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(bc_50.value(p, 0), 2.0, 1e-14);",
              "EXPECT_NEAR(bc_50.value(p, 1), 3.0, 1e-14);",
              "EXPECT_NEAR(bc_51.value(p, 0), 2.0, 1e-14);",
              "EXPECT_NEAR(bc_51.value(p, 1), 3.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.117,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "RhsParameters.RhsWithSymbolicConstants",
            "source_line": 451,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(rhs.value(p, 0), 1.0, 1e-14);",
              "EXPECT_NEAR(rhs.value(p, 1), 4.5, 1e-14);",
              "EXPECT_NEAR(rhs.scale(0.0), 1.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.124,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "RhsParameters.RhsBaseWithSymbolicConstantsMultipleMaterials",
            "source_line": 481,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(rhs_10.value(p, 0), 0.2, 1e-14);",
              "EXPECT_NEAR(rhs_10.value(p, 1), 0.3, 1e-14);",
              "EXPECT_NEAR(rhs_11.value(p, 0), 0.2, 1e-14);",
              "EXPECT_NEAR(rhs_11.value(p, 1), 0.3, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.136,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditionParameters.DirichletWithComplexSymbolicExpression",
            "source_line": 513,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(bc.value(p, 0), std::sin(1.57079632679 * 0.5), 1e-14);",
              "EXPECT_NEAR(bc.value(p, 1), 0.5, 1e-14);",
              "EXPECT_NEAR(bc.scale(0.0), 0.0, 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.112,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "RhsParameters.RhsWithTimeAndSymbolicConstants",
            "source_line": 543,
            "action": "keep",
            "reason": "Distinct material and boundary/RHS fallback/override semantics, symbolic constants, complex expressions and time dependence.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(rhs.value(p, 0), 0.0, 1e-14);",
              "EXPECT_NEAR(rhs.value(p, 1), 1.0, 1e-14);",
              "EXPECT_NEAR(rhs.value(p, 0), std::sin(numbers::PI / 2.0), 1e-14);",
              "EXPECT_NEAR(rhs.value(p, 1), std::cos(numbers::PI / 2.0), 1e-14);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.134,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/metric_flow_x_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "7285040946f690dc043d2439e4785f56e5ad5117907be146cadeab1f60c2eee6",
      "candidate_source_sha256": "7285040946f690dc043d2439e4785f56e5ad5117907be146cadeab1f60c2eee6",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
        "reviewed_macro_occurrences": 12,
        "cases": [
          {
            "suite": "MetricFlowX",
            "name": "FeatureMacroIsEnabled",
            "macro": "TEST",
            "source_line": 90,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_RegistersOneMixedStateField",
            "macro": "TEST",
            "source_line": 95,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(fields.fields().state.is_valid());",
              "EXPECT_TRUE(adapter.has_local_preconditioner(fields.fields().state));",
              "EXPECT_EQ(adapter.differential_components(), problem.differential_dofs());",
              "EXPECT_EQ(fields.fields().area.name(), \"area\");",
              "EXPECT_EQ(fields.fields().velocity.name(), \"velocity\");",
              "EXPECT_EQ(&fields.fields().area.dof_handler(), &problem.dof_handler());",
              "EXPECT_EQ(&fields.fields().velocity.dof_handler(), &problem.dof_handler());",
              "EXPECT_EQ(fields.fields().area.component_mask(),",
              "EXPECT_EQ(fields.fields().velocity.component_mask(),",
              "EXPECT_EQ(state.n_blocks(), 1u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_ResidualMatchesNativeAndPreservesAdditivity",
            "macro": "TEST",
            "source_line": 125,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(difference[index], 2.5, 1.e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_JacobianActionsMatchNativeMatrices",
            "macro": "TEST",
            "source_line": 157,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(difference.l2_norm(), 0., 1.e-10);",
              "EXPECT_NEAR(difference.l2_norm(), 0., 1.e-10);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_IDAVerticalSmoke",
            "macro": "TEST",
            "source_line": 206,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(problem.triangulation().all_reference_cells_are_simplex());",
              "EXPECT_GT(adapter.solve(state, state_dot), 0u);",
              "EXPECT_GT(state.l2_norm(), 1.e-12);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_NativeStateInitializesPositiveArea",
            "macro": "TEST",
            "source_line": 238,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(dealii::Utilities::MPI::min(minimum_area, MPI_COMM_WORLD), 0.);",
              "EXPECT_LT(baseline.l2_norm(), 1.e-10);",
              "EXPECT_NEAR(",
              "EXPECT_GT(adapter.field(forced, solid_fields.fields().velocity).l2_norm(),",
              "EXPECT_NEAR(adapter.field(forced, wall.fields().multiplier).l2_norm(),",
              "EXPECT_NEAR(flow_increment[index], 0., 1.e-14);",
              "EXPECT_LT(forced.l2_norm(), 1.e-6 * action.l2_norm() + 1.e-12);",
              "EXPECT_LT(forced.block(block).l2_norm(),",
              "EXPECT_LT(",
              "EXPECT_LT(forced.l2_norm(), 1.e-6 * small_rhs.l2_norm());"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_WallTractionActsOnMomentumAndPreservesContinuity",
            "macro": "TEST",
            "source_line": 460,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_RCRWallTractionActsOnMomentumAndPreservesContinuity",
            "macro": "TEST",
            "source_line": 466,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_BackgroundOwnershipKeepsRCRAndFieldValuesLocal",
            "macro": "TEST",
            "source_line": 482,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(found_background_owner);",
              "EXPECT_EQ(flow.locally_owned_dofs(), flow.dof_handler().locally_owned_dofs());",
              "EXPECT_EQ(flow.locally_owned_dofs().size(), flow.dof_handler().n_dofs());",
              "EXPECT_EQ(local_pc, local_terminals);",
              "EXPECT_EQ(Utilities::MPI::sum(local_terminals, MPI_COMM_WORLD), 2u);",
              "EXPECT_EQ(Utilities::MPI::sum(static_cast<unsigned int>(local_terminals > 0),",
              "EXPECT_EQ(",
              "EXPECT_EQ(total_unavailable, 0u);",
              "EXPECT_LT(residual.l2_norm(), 1.e-13);",
              "EXPECT_LT(action.l2_norm(), 1.e-13);",
              "EXPECT_LT(action.l2_norm(),"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_IDAFailureDoesNotPublishAnAcceptedStep",
            "macro": "TEST",
            "source_line": 651,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_THROW(solver.solve_dae(state, state_dot),",
              "EXPECT_EQ(outputs, 1u);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "BOTH_PressureProviderPreservesDGTracesAndGhostValues",
            "macro": "TEST",
            "source_line": 692,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_NEAR(provider({0., point, cell->material_id(), cell->id()}),",
              "EXPECT_GT(Utilities::MPI::sum(local_ghosts, MPI_COMM_WORLD), 0u);",
              "EXPECT_LE(error.l2_norm(), 1.e-10 * std::max(1., contribution.l2_norm()));",
              "EXPECT_GT(contribution.l2_norm(), 1.e-12);",
              "EXPECT_NEAR(contribution[index], 0., 1.e-14);",
              "EXPECT_LE(pressured.l2_norm(), 1.e-13 * contribution.l2_norm());",
              "EXPECT_NEAR(transpose * coefficients,"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "MetricFlowX",
            "name": "FeatureMacroIsEnabled",
            "macro": "TEST",
            "source_line": 783,
            "action": "keep",
            "reason": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Optional-package mixed-state/DG/IDA contracts, wall-force continuity, RCR ownership, pressure ghost traces and failure acceptance semantics; unavailable in local base build, retain explicit feature gating.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/modulated_parsed_function_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "546043d53a8d74c1ca426b20b0d50c4bab7e08cac80893de833246d9f3c203d7",
      "candidate_source_sha256": "546043d53a8d74c1ca426b20b0d50c4bab7e08cac80893de833246d9f3c203d7",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Component-aware defaults, function-handle lifetime and coordinates/time/constants evaluation.",
        "source_lines_before": 103,
        "source_lines_after": 103,
        "cases_before": [
          {
            "case": "ModulatedParsedFunction.DefaultExpressionUsesComponentCount",
            "source_line": 42,
            "action": "keep",
            "reason": "Component-aware defaults, function-handle lifetime and coordinates/time/constants evaluation.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ModulatedParsedFunction.ParameterAcceptorProducesFunctionHandle",
            "source_line": 57,
            "action": "keep",
            "reason": "Component-aware defaults, function-handle lifetime and coordinates/time/constants evaluation.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "static_assert(std::is_base_of_v<dealii::ParameterAcceptor,",
              "EXPECT_NO_THROW(dealii::ParameterAcceptor::initialize(parameters));",
              "ASSERT_NE(handle, nullptr);",
              "EXPECT_DOUBLE_EQ(handle->value(dealii::Point<2>(0.25, 0.)),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ModulatedParsedFunction.LightweightExpressionUsesCoordinatesTimeAndConstants",
            "source_line": 87,
            "action": "keep",
            "reason": "Component-aware defaults, function-handle lifetime and coordinates/time/constants evaluation.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(function.value(point),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/navier_stokes_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "d651d981f71578060879be8e8744538ce4b66a5b79d03e627f24b6d78a2ecc3f",
      "candidate_source_sha256": "d651d981f71578060879be8e8744538ce4b66a5b79d03e627f24b6d78a2ecc3f",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Native Stokes transient, mixed masks, IDA Jacobian/residual, genuinely active convection path and 3D smoke.",
        "reviewed_macro_occurrences": 7,
        "cases": [
          {
            "suite": "NavierStokes",
            "name": "Construction",
            "macro": "TEST",
            "source_line": 148,
            "action": "keep",
            "reason": "Native Stokes transient, mixed masks, IDA Jacobian/residual, genuinely active convection path and 3D smoke.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(problem.n_dofs(), 0u);",
              "EXPECT_FALSE(problem.solution_is_finite());"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "ParameterParsing",
            "macro": "TEST",
            "source_line": 159,
            "action": "keep",
            "reason": "Native Stokes transient, mixed masks, IDA Jacobian/residual, genuinely active convection path and 3D smoke.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(parameters.velocity_degree, 2u);",
              "EXPECT_EQ(parameters.pressure_degree, 1u);",
              "EXPECT_FALSE(parameters.include_convective_term);",
              "EXPECT_EQ(parameters.fixed_step_parameters.number_of_steps, 1u);",
              "EXPECT_DOUBLE_EQ(parameters.time_parameters.final_time, 0.05);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "VelocityPressureComponentMask",
            "macro": "TEST",
            "source_line": 173,
            "action": "keep",
            "reason": "Native Stokes transient, mixed masks, IDA Jacobian/residual, genuinely active convection path and 3D smoke.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_EQ(velocity_mask.n_selected_components(), 2u);",
              "EXPECT_EQ(pressure_mask.n_selected_components(), 1u);",
              "EXPECT_TRUE(velocity_mask[0]);",
              "EXPECT_TRUE(velocity_mask[1]);",
              "EXPECT_FALSE(velocity_mask[2]);",
              "EXPECT_FALSE(pressure_mask[0]);",
              "EXPECT_FALSE(pressure_mask[1]);",
              "EXPECT_TRUE(pressure_mask[2]);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "MPI_TransientStokes",
            "macro": "TEST",
            "source_line": 199,
            "action": "keep",
            "reason": "Native Stokes transient, mixed masks, IDA Jacobian/residual, genuinely active convection path and 3D smoke.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(problem.n_time_steps(), 1u);",
              "EXPECT_EQ(problem.timestep_number(), 1u);",
              "EXPECT_GT(problem.n_dofs(), 0u);",
              "ASSERT_EQ(problem.system_matrix().n_block_rows(), 2u);",
              "EXPECT_GT(problem.system_matrix().block(0, 0).m(), 0u);",
              "EXPECT_GT(problem.system_matrix().block(1, 1).m(), 0u);",
              "EXPECT_EQ(problem.system_matrix().block(0, 0).m(),",
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_TRUE(std::isfinite(problem.solution().block(0).l2_norm()));",
              "EXPECT_TRUE(std::isfinite(problem.solution().block(1).l2_norm()));",
              "EXPECT_LT(problem.system_residual_l2_norm(), 1.e-7);",
              "EXPECT_LT(problem.divergence_l2_norm(), 1.e-8);",
              "EXPECT_NEAR(problem.current_time(), 0.05, 1.e-14);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "MPI_IDAResidualJacobianAndSolve",
            "macro": "TEST",
            "source_line": 228,
            "action": "keep",
            "reason": "Native Stokes transient, mixed masks, IDA Jacobian/residual, genuinely active convection path and 3D smoke.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_EQ(ida.saddle_points().size(), 1u);",
              "ASSERT_EQ(ida.saddle_points().front().multiplier,",
              "ASSERT_EQ(ida.saddle_points().front().participants.size(), 1u);",
              "EXPECT_EQ(ida.saddle_points().front().participants.front(),",
              "EXPECT_TRUE(std::isfinite(pressure_action.l2_norm()));",
              "EXPECT_NEAR(velocity_difference.l2_norm(), 0., 1.e-10);",
              "EXPECT_NEAR(pressure_difference.l2_norm(), 0., 1.e-10);",
              "EXPECT_TRUE(ida.has_current_preconditioner());",
              "EXPECT_NEAR(velocity_difference.l2_norm(), 0., 1.e-10);",
              "EXPECT_NEAR(pressure_difference.l2_norm(), 0., 1.e-10);",
              "EXPECT_GT(ida.solve(state_for_solve, state_dot_for_solve), 0u);",
              "EXPECT_TRUE(std::isfinite(state_for_solve.l2_norm()));",
              "EXPECT_LT(residual.l2_norm(), 1.e-6);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "MPI_ExplicitConvectionPath",
            "macro": "TEST",
            "source_line": 359,
            "action": "keep",
            "reason": "Native Stokes transient, mixed masks, IDA Jacobian/residual, genuinely active convection path and 3D smoke.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_EQ(problem.timestep_number(), 1u);",
              "EXPECT_TRUE(std::isfinite(stokes_rhs_norm));",
              "EXPECT_TRUE(std::isfinite(convective_rhs_norm));",
              "EXPECT_GT(rhs_difference, 1.e-10);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "MPI_ThreeDimensionalSmoke",
            "macro": "TEST",
            "source_line": 411,
            "action": "keep",
            "reason": "Native Stokes transient, mixed masks, IDA Jacobian/residual, genuinely active convection path and 3D smoke.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_LT(problem.system_residual_l2_norm(), 1.e-6);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/navier_stokes_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "aaca3d8d9fe0ee59e886de58b17140cb918a658ef8bbc12aa2758a70228c7866",
      "candidate_source_sha256": "aaca3d8d9fe0ee59e886de58b17140cb918a658ef8bbc12aa2758a70228c7866",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
        "reviewed_macro_occurrences": 4,
        "cases": [
          {
            "suite": "NavierStokes",
            "name": "BOTH_SimplexPoiseuille",
            "macro": "TEST",
            "source_line": 115,
            "action": "keep",
            "reason": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "BOTH_HypercubePoiseuille",
            "macro": "TEST",
            "source_line": 120,
            "action": "keep",
            "reason": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "BOTH_HypercubePoiseuilleIDA",
            "macro": "TEST",
            "source_line": 126,
            "action": "keep",
            "reason": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
            "ci_debug_observations": []
          },
          {
            "suite": "NavierStokes",
            "name": "BOTH_SimplexPoiseuilleIDA",
            "macro": "TEST",
            "source_line": 131,
            "action": "keep",
            "reason": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Analytic Poiseuille field, divergence and time endpoint under native/IDA integration in 2D/3D and both cell families.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/navier_stokes_step80_mms_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "e23b54be4204623b55a3b0677fefd57a3e96f51418c0f0cd2160da22d2678107",
      "candidate_source_sha256": null,
      "candidate_file_present": false,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Printed three-grid convergence experiment without an assertion; replace in GoogleTest by existing exact-flow and active-convection regressions and retain input for manual studies.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "NavierStokes",
            "name": "Step80ManufacturedSolutionConvergence",
            "macro": "TEST",
            "source_line": 26,
            "action": "remove",
            "reason": "Three refinement-level solves only print a convergence table and never assert error/rate; dedicated exact-flow and active-convection tests remain; MMS parameter input retained for manual runs.",
            "replacement": [
              "NavierStokes.BOTH_SimplexPoiseuille",
              "NavierStokes.BOTH_HypercubePoiseuille",
              "NavierStokes.MPI_ExplicitConvectionPath"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Printed three-grid convergence experiment without an assertion; replace in GoogleTest by existing exact-flow and active-convection regressions and retain input for manual studies.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/output_handler_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "15a9527405f0c1fecfda874bd16e6a6d683d42731f03623a0c44dffe52ff33c0",
      "candidate_source_sha256": "15a9527405f0c1fecfda874bd16e6a6d683d42731f03623a0c44dffe52ff33c0",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Actual scalar/vector/mixed-space VTK output and names/components, including reindexed Navier-Stokes fields; retain dedicated output checks.",
        "source_lines_before": 258,
        "source_lines_after": 258,
        "cases_before": [
          {
            "case": "OutputHandler.BOTH_ScalarField",
            "source_line": 77,
            "action": "keep",
            "reason": "Actual scalar/vector/mixed-space VTK output and names/components, including reindexed Navier-Stokes fields; retain dedicated output checks.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(output.write(state, 0.));",
              "EXPECT_TRUE(std::filesystem::exists(directory / \"scalar.pvd\"));",
              "EXPECT_TRUE(has_vtu);",
              "EXPECT_NE(output_text(parameters.output_directory).find(\"temperature\"),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_OutputHandler",
                "rank": 0,
                "seconds": 0.032,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_OutputHandler",
                "rank": null,
                "seconds": 0.022,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "OutputHandler.BOTH_ReindexedNavierStokesFields",
            "source_line": 123,
            "action": "keep",
            "reason": "Actual scalar/vector/mixed-space VTK output and names/components, including reindexed Navier-Stokes fields; retain dedicated output checks.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(velocity.is_reindexed());",
              "ASSERT_TRUE(pressure.is_reindexed());",
              "EXPECT_LT(velocity.locally_owned_dofs().size(),",
              "EXPECT_LT(pressure.locally_owned_dofs().size(),",
              "ASSERT_NO_THROW(output.write(state, 0.));",
              "EXPECT_TRUE(std::filesystem::exists(directory / \"stokes.pvd\"));",
              "EXPECT_NE(",
              "EXPECT_NE("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_OutputHandler",
                "rank": 0,
                "seconds": 0.047,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_OutputHandler",
                "rank": null,
                "seconds": 0.019,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "OutputHandler.BOTH_IndependentFiniteElementSpaceOutput",
            "source_line": 215,
            "action": "keep",
            "reason": "Actual scalar/vector/mixed-space VTK output and names/components, including reindexed Navier-Stokes fields; retain dedicated output checks.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(&space.triangulation(), &host_dof_handler.get_triangulation());",
              "EXPECT_NE(&space.dof_handler(), &host_dof_handler);",
              "ASSERT_EQ(values.size(), space.dof_handler().n_dofs());",
              "EXPECT_DOUBLE_EQ(values[index], 2. + index);",
              "EXPECT_TRUE(std::filesystem::exists(output_directory + \"/lambda.pvtu\") ||",
              "EXPECT_NE(text.find(\"Name=\\\"lambda\\\"\"), std::string::npos);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_OutputHandler",
                "rank": 0,
                "seconds": 0.011,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_OutputHandler",
                "rank": null,
                "seconds": 0.007,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/particle_coupling_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "9858417626fd977e11176d0d0146aab495bf97bc31ac4aa84c95df4568802f30",
      "candidate_source_sha256": "b0859cfa39836a8575daad945e991c3cd40fcfed2449ad9a095bcb9cfc2308ce",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Particle output/count and representative-cell locality consolidated to one identical distributed setup.",
        "source_lines_before": 176,
        "source_lines_after": 111,
        "cases_before": [
          {
            "case": "ParticleCoupling.MPI_OutputParticles",
            "source_line": 38,
            "action": "keep",
            "reason": "Particle output/count and representative-cell locality consolidated to one identical distributed setup.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(file.good()) << \"Failed to open file: \" << filename;",
              "ASSERT_EQ(particles.n_global_particles(), n_total_points)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ParticleCoupling",
                "rank": 0,
                "seconds": 0.161,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ParticleCoupling.MPI_GlobalCells",
            "source_line": 109,
            "action": "consolidate",
            "reason": "Identical TPS/background/partition/insert setup; update_local_dof_indices and every locality assertion are moved into the retained output/count test.",
            "replacement_cases": [
              "ParticleCoupling.MPI_OutputParticles"
            ],
            "direct_oracle_lines": [
              "ASSERT_TRUE(relevant_indices.is_element(cell_index))"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ParticleCoupling",
                "rank": 0,
                "seconds": 0.106,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/poisson_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "720009aaa4d6e74a4a17387a3a21af9a1c9a00535d8c812fc4e7f7ec3f5743f8",
      "candidate_source_sha256": "720009aaa4d6e74a4a17387a3a21af9a1c9a00535d8c812fc4e7f7ec3f5743f8",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Uninitialized-state contract across valid dimensions, nonzero scalar solve/refinement and embedded-line native solve.",
        "reviewed_macro_occurrences": 3,
        "cases": [
          {
            "suite": "Poisson",
            "name": "Construction",
            "macro": "TEST",
            "source_line": 45,
            "action": "keep",
            "reason": "Uninitialized-state contract across valid dimensions, nonzero scalar solve/refinement and embedded-line native solve.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Uninitialized-state contract across valid dimensions, nonzero scalar solve/refinement and embedded-line native solve.",
            "ci_debug_observations": []
          },
          {
            "suite": "Poisson",
            "name": "MPI_OneCycleSolve",
            "macro": "TEST",
            "source_line": 56,
            "action": "keep",
            "reason": "Uninitialized-state contract across valid dimensions, nonzero scalar solve/refinement and embedded-line native solve.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(problem.n_dofs(), 0u);",
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_GT(problem.solution_l2_norm(), 0.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "Poisson",
            "name": "MPI_EmbeddedOneDimensionalSolve",
            "macro": "TEST",
            "source_line": 105,
            "action": "keep",
            "reason": "Uninitialized-state contract across valid dimensions, nonzero scalar solve/refinement and embedded-line native solve.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(problem.n_dofs(), 0u);",
              "EXPECT_TRUE(problem.solution_is_finite());",
              "EXPECT_GT(problem.solution_l2_norm(), 0.);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/poisson_adapter_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "9b7fe4ffb2855c4f823c0cc79b9c2d27521be973efbf785c62ec8be62ee9e51e",
      "candidate_source_sha256": "9b7fe4ffb2855c4f823c0cc79b9c2d27521be973efbf785c62ec8be62ee9e51e",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Exact quadratic/affine Poisson adapter result on simplex and tensor-product cells.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "LinearAdapter",
            "name": "BOTH_SimplexPoisson",
            "macro": "TEST",
            "source_line": 56,
            "action": "keep",
            "reason": "Exact quadratic/affine Poisson adapter result on simplex and tensor-product cells.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact quadratic/affine Poisson adapter result on simplex and tensor-product cells.",
            "ci_debug_observations": [
              {
                "test": "LinearAdapter.BOTH_SimplexPoisson",
                "seconds": 0.087,
                "rank": 0,
                "group": "ImmersX_integration_MPI_LinearAdapter"
              },
              {
                "test": "LinearAdapter.BOTH_SimplexPoisson",
                "seconds": 0.084,
                "rank": null,
                "group": "ImmersX_integration_Serial_LinearAdapter"
              }
            ]
          },
          {
            "suite": "LinearAdapter",
            "name": "BOTH_HypercubePoisson",
            "macro": "TEST",
            "source_line": 61,
            "action": "keep",
            "reason": "Exact quadratic/affine Poisson adapter result on simplex and tensor-product cells.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact quadratic/affine Poisson adapter result on simplex and tensor-product cells.",
            "ci_debug_observations": [
              {
                "test": "LinearAdapter.BOTH_HypercubePoisson",
                "seconds": 0.079,
                "rank": 0,
                "group": "ImmersX_integration_MPI_LinearAdapter"
              },
              {
                "test": "LinearAdapter.BOTH_HypercubePoisson",
                "seconds": 0.053,
                "rank": null,
                "group": "ImmersX_integration_Serial_LinearAdapter"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/poisson_elastic_static_execution_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "5e0209592a8159c39ea3c9394b5a80dd41bb42b05d40f612665539363a64c566",
      "candidate_source_sha256": "c4240978a9f1fa702e9f6e8617ab8939174df032f3f7e6d586a834e982d44d3e",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Native and adapter executable dispatch on embedded 1D-in-3D inputs, with output PVD checks.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "ApplicationExecution",
            "name": "StandaloneAndAdapterStaticApplications",
            "macro": "TEST",
            "source_line": 60,
            "action": "keep",
            "reason": "Native and adapter executable dispatch on embedded 1D-in-3D inputs, with output PVD checks.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(std::filesystem::exists(poisson_output / \"solution.pvd\"));",
              "EXPECT_TRUE(std::filesystem::exists(poisson_output / \"solution.pvd\"));",
              "EXPECT_TRUE(std::filesystem::exists(elastic_output / \"elastic_static.pvd\"));",
              "EXPECT_TRUE(std::filesystem::exists(elastic_output / \"elastic_static.pvd\"));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/poisson_execution_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "1d84368b6b201787cbef789b4642c840e68f4263c0a77a68fd42438d4929fea1",
      "candidate_source_sha256": "1d84368b6b201787cbef789b4642c840e68f4263c0a77a68fd42438d4929fea1",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Native/adapter embedded Poisson field parity with nonzero forcing; complements CLI dispatch.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "PoissonExecution",
            "name": "NativeAndAdapterEmbeddedOneDimensional",
            "macro": "TEST",
            "source_line": 66,
            "action": "keep",
            "reason": "Native/adapter embedded Poisson field parity with nonzero forcing; complements CLI dispatch.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_LT(difference.l2_norm(), 1.e-9);",
              "EXPECT_TRUE(native_problem.solution_is_finite());",
              "EXPECT_TRUE(std::isfinite(adapter_problem.solution().l2_norm()));",
              "EXPECT_TRUE(std::filesystem::exists(native_output + \"/solution.pvd\"));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/poisson_primitives_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "c65468049689aa9e34824e19d2fe6aa3cec3dcea1e0defbf88d4b38ba83e9372",
      "candidate_source_sha256": "c65468049689aa9e34824e19d2fe6aa3cec3dcea1e0defbf88d4b38ba83e9372",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Exact solve assembled exclusively from generic primitives, true residual, registered field and output names.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "PoissonPrimitives",
            "name": "BOTH_SolveFromGenericPrimitives",
            "macro": "TEST",
            "source_line": 58,
            "action": "keep",
            "reason": "Exact solve assembled exclusively from generic primitives, true residual, registered field and output names.",
            "replacement": [],
            "direct_oracle_assertions": [
              "ASSERT_TRUE(u.is_registered());",
              "ASSERT_TRUE(std::isfinite(solution.l2_norm()));",
              "EXPECT_LT(maximum_error, 1.e-10);",
              "EXPECT_LT(residual.l2_norm(), 1.e-10);",
              "ASSERT_NO_THROW(output.write(output_state, 0.));",
              "EXPECT_TRUE(std::filesystem::exists(directory / \"solution.pvd\"));",
              "EXPECT_NE(output_text.find(\"u\"), std::string::npos);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": [
              {
                "test": "PoissonPrimitives.BOTH_SolveFromGenericPrimitives",
                "seconds": 0.058,
                "rank": 0,
                "group": "ImmersX_integration_MPI_PoissonPrimitives"
              },
              {
                "test": "PoissonPrimitives.BOTH_SolveFromGenericPrimitives",
                "seconds": 0.045,
                "rank": null,
                "group": "ImmersX_integration_Serial_PoissonPrimitives"
              }
            ]
          }
        ]
      }
    },
    {
      "path": "gtests/poisson_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "fced318183e2b143a674a5131e9ee216dd95065be61a95a168c305db87f66fb8",
      "candidate_source_sha256": "fced318183e2b143a674a5131e9ee216dd95065be61a95a168c305db87f66fb8",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Native exact quadratic Poisson field and reference-cell identity.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "Poisson",
            "name": "BOTH_QuadraticSolutionOnSimplex",
            "macro": "TEST",
            "source_line": 91,
            "action": "keep",
            "reason": "Native exact quadratic Poisson field and reference-cell identity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Native exact quadratic Poisson field and reference-cell identity.",
            "ci_debug_observations": []
          },
          {
            "suite": "Poisson",
            "name": "BOTH_QuadraticSolutionOnHypercube",
            "macro": "TEST",
            "source_line": 98,
            "action": "keep",
            "reason": "Native exact quadratic Poisson field and reference-cell identity.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Native exact quadratic Poisson field and reference-cell identity.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/prescribed_poisson_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "87fd6183dedcc425d03caafd038abf849ce0afd0d173b4409647de3e6af717e4",
      "candidate_source_sha256": "87fd6183dedcc425d03caafd038abf849ce0afd0d173b4409647de3e6af717e4",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Constraint-row replacement and independently discretized multiplier under MPI; true bulk and constraint residuals.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "PrescribedPoisson",
            "name": "MPI_UnifiedConstraintReplacement",
            "macro": "TEST",
            "source_line": 75,
            "action": "keep",
            "reason": "Constraint-row replacement and independently discretized multiplier under MPI; true bulk and constraint residuals.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(bulk_problem.solution_is_finite());",
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_GT(adapter.field(state, bulk.fields().solution).l2_norm(), 1.e-12);",
              "EXPECT_LT(bulk_residual.l2_norm(), 1.e-8);",
              "EXPECT_LT(constraint_residual.l2_norm(), 1.e-8);",
              "EXPECT_TRUE(output_has_field(output_directory, \"solution\"));",
              "EXPECT_TRUE(output_has_field(output_directory, \"multiplier\"));"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "PrescribedPoisson",
            "name": "MPI_UnifiedConstraintWithIndependentMultiplier",
            "macro": "TEST",
            "source_line": 190,
            "action": "keep",
            "reason": "Constraint-row replacement and independently discretized multiplier under MPI; true bulk and constraint residuals.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_TRUE(std::isfinite(",
              "EXPECT_GT(adapter.field(state, bulk.fields().solution).l2_norm(), 1.e-12);",
              "EXPECT_LT(residual.l2_norm(), 1.e-7);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/pseudo_tissue_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "5cf9e1a6de2a29f0254f798580c553a9e4b5a401c9feb1e5132f827456c88b4b",
      "candidate_source_sha256": "5cf9e1a6de2a29f0254f798580c553a9e4b5a401c9feb1e5132f827456c88b4b",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Native pseudo-coupling exchanges vesselwise displacement/pressure on a simplex tissue mesh and compares accepted native fields.",
        "reviewed_macro_occurrences": 1,
        "cases": [
          {
            "suite": "ElasticityValidation",
            "name": "BOTH_SimplexVesselwisePseudoExchange",
            "macro": "TEST",
            "source_line": 10,
            "action": "keep",
            "reason": "Native pseudo-coupling exchanges vesselwise displacement/pressure on a simplex tissue mesh and compares accepted native fields.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(displacement.l2_norm(), 1.e-6);",
              "EXPECT_GT(pressure.l2_norm(), 1.e-6);",
              "EXPECT_LT(displacement.linfty_norm(), 1.e-9);",
              "EXPECT_LT(multiplier.linfty_norm(), 1.e-9);",
              "EXPECT_LT(pressure.linfty_norm(), 1.e-9);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/reduced_coupling_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "c7d2a6daec34fd605605dd0de062cba7e560f0e33b6b8e6c12a02456a521ae5b",
      "candidate_source_sha256": "ade32a4e80458c62afda1a27309488fa2de6515e4222c569c36d942c9270b46c",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Positive-dimensional constant/P1 initialization, coupling-transpose versus RHS and an independent representative-cell assembly oracle.",
        "source_lines_before": 283,
        "source_lines_after": 287,
        "cases_before": [
          {
            "case": "ReducedCoupling.MPI_Constructor",
            "source_line": 51,
            "action": "reduce-fixture",
            "reason": "Replace100-vertex network by one segment and add nonempty global DoF/particle checks; retain default positive-dimensional MPI constructor path.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ReducedCoupling",
                "rank": 0,
                "seconds": 0.832,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling.CheckMatrices",
            "source_line": 83,
            "action": "keep",
            "reason": "Positive-dimensional constant/P1 initialization, coupling-transpose versus RHS and an independent representative-cell assembly oracle.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(norm, 0.0, 1e-10)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ReducedCoupling",
                "rank": null,
                "seconds": 0.072,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling.PositiveDimensionalAssemblySeparatesRepresentativeCells",
            "source_line": 158,
            "action": "keep",
            "reason": "Positive-dimensional constant/P1 initialization, coupling-transpose versus RHS and an independent representative-cell assembly oracle.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);",
              "ASSERT_GT(representative_cells.size(), 1u);",
              "EXPECT_DOUBLE_EQ(coupling_matrix.el(i, j), expected_matrix.el(i, j));"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ReducedCoupling",
                "rank": null,
                "seconds": 0.175,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling.MPI_ConstructorP1",
            "source_line": 251,
            "action": "reduce-fixture",
            "reason": "Replace100-vertex network by one segment and add nonempty global DoF/particle checks; retain nonconstant P1 mode path.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ReducedCoupling",
                "rank": 0,
                "seconds": 0.96,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/reduced_field_expressions_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "c59a105cab4cea2502478a722846761efee8e92fc5b76e57edf193408db541b0",
      "candidate_source_sha256": "83e6da553bd802ede6628b5b0c651c1681a6d07bf261a5c56326cbd4ed27bc38",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Interpolated reduced-field RHS, duplicate vector expressions, resolved radius binding, time-dependent thickness and transferred fields.",
        "source_lines_before": 221,
        "source_lines_after": 221,
        "cases_before": [
          {
            "case": "ReducedCoupling.BOTH_FieldDependentRhsUsesInterpolatedFields",
            "source_line": 92,
            "action": "reduce-fixture",
            "reason": "Reduce background512cells to8; the independent RHS integral is on the unchanged reduced field and both MPI partitions remain available.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";"
            ],
            "helper_checks": [
              "check_field_dependent_reduced_rhs("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ReducedCoupling",
                "rank": 0,
                "seconds": 0.157,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_ReducedCoupling",
                "rank": null,
                "seconds": 0.137,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling.MPI_TensorProductDuplicateRhsPopulatesBothComponents",
            "source_line": 101,
            "action": "keep",
            "reason": "Interpolated reduced-field RHS, duplicate vector expressions, resolved radius binding, time-dependent thickness and transferred fields.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(fe.n_components(), 2u);",
              "ASSERT_GT(component_norms[0], 0.0);",
              "ASSERT_GT(component_norms[1], 0.0);",
              "EXPECT_NEAR(component_norms[0], component_norms[1], 1.e-12);",
              "EXPECT_NEAR(reduced_rhs[*first], reduced_rhs[*second], 1.e-12);",
              "EXPECT_EQ(second, component_dofs[1].end());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ReducedCoupling",
                "rank": 0,
                "seconds": 0.058,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace.ThicknessExpressionUsesAResolvedBinding",
            "source_line": 165,
            "action": "keep",
            "reason": "Interpolated reduced-field RHS, duplicate vector expressions, resolved radius binding, time-dependent thickness and transferred fields.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_EQ(space.get_properties_bindings().size(), 1u);",
              "EXPECT_EQ(space.get_properties_bindings().front().symbol_name, \"radius\");",
              "EXPECT_EQ(space.get_thickness_expression(), \"radius\");"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_TensorProductSpace",
                "rank": null,
                "seconds": 0.035,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace.ThicknessExpressionCanDependOnTime",
            "source_line": 185,
            "action": "keep",
            "reason": "Interpolated reduced-field RHS, duplicate vector expressions, resolved radius binding, time-dependent thickness and transferred fields.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(space.initialize());",
              "EXPECT_EQ(space.get_thickness_expression(), \"radius*sin(t)\");"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_TensorProductSpace",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace.TransfersRequestedFieldsAfterRefinement",
            "source_line": 203,
            "action": "keep",
            "reason": "Interpolated reduced-field RHS, duplicate vector expressions, resolved radius binding, time-dependent thickness and transferred fields.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(space.initialize());",
              "EXPECT_GT(space.get_properties_dh().n_dofs(), 0u);",
              "EXPECT_GT(space.get_properties().l2_norm(), 0.0);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_TensorProductSpace",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/reduced_poisson_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "3e82e7c9e0ca0f4f14543d2c64b0d420245b5baae9b3f17201bc3b20d1c54628",
      "candidate_source_sha256": "d710c5ae16de34e508bea3ba5e7af7fde2fcbbe20dc11d9a2d89b9657ed6e109",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose_and_oracle": "Replace no-assert native AL smoke workloads by constant/linear modal AL-versus-Schur vector parity on a small nonzero case.",
        "reviewed_macro_occurrences": 2,
        "cases": [
          {
            "suite": "ReducedPoisson",
            "name": "MPI_OneCylinder",
            "macro": "TEST",
            "source_line": 34,
            "action": "replace",
            "reason": "Unasserted native constant-mode AL run becomes small nonzero native AL/Schur vector parity, in serial and MPI.",
            "replacement": [
              "ReducedPoisson.BOTH_ConstantModeAugmentedLagrangianMatchesSchur"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Replace no-assert native AL smoke workloads by constant/linear modal AL-versus-Schur vector parity on a small nonzero case.",
            "ci_debug_observations": []
          },
          {
            "suite": "ReducedPoisson",
            "name": "MPI_OneCylinderP1",
            "macro": "TEST",
            "source_line": 55,
            "action": "replace",
            "reason": "Unasserted native linear-mode AL run with 4/3 co-refinement cycles becomes small nonzero native AL/Schur vector parity, in serial and MPI.",
            "replacement": [
              "ReducedPoisson.BOTH_LinearModesAugmentedLagrangianMatchesSchur"
            ],
            "direct_oracle_assertions": [],
            "helper_oracle": "Replace no-assert native AL smoke workloads by constant/linear modal AL-versus-Schur vector parity on a small nonzero case.",
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/reduced_poisson_simplex_01.cc",
      "review_category": "physics",
      "baseline_source_sha256": "f0af0e5555562bfa7b824930da70e7193631c2b6d399c87f710875946ada359a",
      "candidate_source_sha256": "f0af0e5555562bfa7b824930da70e7193631c2b6d399c87f710875946ada359a",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose_and_oracle": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
        "reviewed_macro_occurrences": 6,
        "cases": [
          {
            "suite": "ReducedPoissonValidation",
            "name": "BOTH_SimplexLineQuadraticSolution",
            "macro": "TEST",
            "source_line": 100,
            "action": "keep",
            "reason": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "ci_debug_observations": []
          },
          {
            "suite": "ReducedPoissonValidation",
            "name": "BOTH_HypercubeLineQuadraticSolution",
            "macro": "TEST",
            "source_line": 105,
            "action": "keep",
            "reason": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "ci_debug_observations": []
          },
          {
            "suite": "ReducedPoissonValidation",
            "name": "BOTH_SimplexPointQuadraticSolution",
            "macro": "TEST",
            "source_line": 110,
            "action": "keep",
            "reason": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "ci_debug_observations": []
          },
          {
            "suite": "ReducedPoissonValidation",
            "name": "BOTH_HypercubePointQuadraticSolution",
            "macro": "TEST",
            "source_line": 115,
            "action": "keep",
            "reason": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "replacement": [],
            "direct_oracle_assertions": [],
            "helper_oracle": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "ci_debug_observations": []
          },
          {
            "suite": "ReducedPoissonValidation",
            "name": "BOTH_SimplexLinePreparation",
            "macro": "TEST",
            "source_line": 120,
            "action": "keep",
            "reason": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(refined2, coarse2);",
              "EXPECT_GT(refined3, coarse3);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          },
          {
            "suite": "ReducedPoissonValidation",
            "name": "BOTH_SimplexPointPreparation",
            "macro": "TEST",
            "source_line": 132,
            "action": "keep",
            "reason": "Exact nonzero quadratic bulk solution, coupling/multiplier norms, interior VTK points and representative-refinement preparation for line/point reductions.",
            "replacement": [],
            "direct_oracle_assertions": [
              "EXPECT_GT(refined2, coarse2);",
              "EXPECT_GT(refined3, coarse3);"
            ],
            "helper_oracle": null,
            "ci_debug_observations": []
          }
        ]
      }
    },
    {
      "path": "gtests/reference_cross_section_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "b45da899f69cc69bf0ccd5c011de73b0721954a68adf6b7185ee56e9c2da2b57",
      "candidate_source_sha256": "b45da899f69cc69bf0ccd5c011de73b0721954a68adf6b7185ee56e9c2da2b57",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
        "source_lines_before": 600,
        "source_lines_after": 600,
        "cases_before": [
          {
            "case": "ReferenceCrossSection.CheckBasisOrthogonality",
            "source_line": 31,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(n_basis_functions, polynomials.n() * n_components);",
              "ASSERT_EQ(mean_squares.size(), n_basis_functions);",
              "ASSERT_GT(basis[i].l2_norm(), 1e-15)",
              "EXPECT_NEAR(basis[i].linfty_norm(), 1., 1e-12)",
              "EXPECT_GT(mean_squares[i], 0.);",
              "EXPECT_LE(mean_squares[i], 1. + 1e-12);",
              "ASSERT_NEAR(dot_product,",
              "ASSERT_NEAR(dot_product, 0.0, 1e-10)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.36,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.CheckDiskQuadrature",
            "source_line": 98,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(sum, 2 * numbers::PI, 1e-3)",
              "ASSERT_NEAR(const_integral, const_value * 2 * numbers::PI, 2e-3)",
              "ASSERT_NEAR(r_squared_integral, 2 * numbers::PI, 1e-3)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.086,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceFrame.RotationInvariants3D",
            "source_line": 156,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(mapped[d], unit_tangent[d], 1.e-12);",
              "EXPECT_NEAR(entry, i == j ? 1. : 0., 1.e-12);",
              "EXPECT_NEAR(determinant, 1., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceFrame.RotationInvariants2D",
            "source_line": 195,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(mapped[d], unit_tangent[d], 1.e-12);",
              "EXPECT_NEAR(entry, i == j ? 1. : 0., 1.e-12);",
              "EXPECT_NEAR(determinant, 1., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.RotationAwareVectorModes",
            "source_line": 227,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(transformed.point(q)[d], expected_point[d], 1.e-12);",
              "ASSERT_EQ(mode_values.size(), 3u);",
              "EXPECT_NEAR(mode_values[component],"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductLift.RotationAwareVectorModes",
            "source_line": 273,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_FALSE(points.empty());",
              "ASSERT_EQ(point.mode_values.size(), 3u);",
              "EXPECT_NEAR(point.mode_values[component],"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.ScalarModesRemainUnchangedUnderRotation",
            "source_line": 305,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(values.size(), 1u);",
              "EXPECT_NEAR(values[0], section.shape_value(0, 0, 0), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.022,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.CheckHyperSphereQuadrature",
            "source_line": 326,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(ref_inclusion.measure(), 2 * numbers::PI, 1e-3);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.018,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.CheckCircleQuadrature",
            "source_line": 343,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(sum, numbers::PI, 1e-2)",
              "ASSERT_NEAR(const_integral, const_value * numbers::PI, 1e-2)",
              "ASSERT_NEAR(r_squared_integral, numbers::PI / 2.0, 1e-2)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.893,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.Check3DBallQuadrature",
            "source_line": 401,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(sum, unit_ball_volume, .3)",
              "ASSERT_NEAR(const_integral, const_value * unit_ball_volume, 0.7)",
              "ASSERT_NEAR(r_squared_integral, expected_r_squared, 0.3)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 4.043,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.CheckRotatedDisk",
            "source_line": 461,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(rotated_sum, reference_sum, 1e-10)",
              "ASSERT_NEAR(p[1], 0.0, 1e-10)",
              "ASSERT_NEAR(p.square(), 1.0, 1e-3)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.018,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.CheckP1",
            "source_line": 522,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(ref_inclusion.max_n_basis(), 3);",
              "ASSERT_EQ(ref_inclusion.n_selected_basis(), 3)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.008,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReferenceCrossSection.CheckMeasure",
            "source_line": 543,
            "action": "keep",
            "reason": "Independent mass-metric normalization, geometric quadrature moments/measures, vector/scalar rotations, P1 modes and physical scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(ref_inclusion.measure(), expected_measure_non_scaled, 1e-5)",
              "ASSERT_NEAR(ref_inclusion.measure(scale), expected_measure_scaled, 1e-4)",
              "ASSERT_NEAR(ref_inclusion.measure(),",
              "ASSERT_NEAR(ref_inclusion.measure(scale), expected_measure_scaled, 1e-2)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.342,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/reference_inclusion_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "8c70581b393192c8a8caa0439a3a6083a7129780a9bbada4609d7a89d155e273",
      "candidate_source_sha256": "8c70581b393192c8a8caa0439a3a6083a7129780a9bbada4609d7a89d155e273",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Live Inclusions support-point coordinates and proper rotations including singular negative-z directions.",
        "source_lines_before": 120,
        "source_lines_after": 120,
        "cases_before": [
          {
            "case": "ReferenceInclusion2.CheckPoints",
            "source_line": 28,
            "action": "keep",
            "reason": "Live Inclusions support-point coordinates and proper rotations including singular negative-z directions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(p[0].distance(Point<2>(1, 0)), 0, 1e-10);",
              "ASSERT_NEAR(p[1].distance(Point<2>(0, 1)), 0, 1e-10);",
              "ASSERT_NEAR(p[2].distance(Point<2>(-1, 0)), 0, 1e-10);",
              "ASSERT_NEAR(p[3].distance(Point<2>(0, -1)), 0, 1e-10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.CheckPoints",
            "source_line": 44,
            "action": "keep",
            "reason": "Live Inclusions support-point coordinates and proper rotations including singular negative-z directions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(p[0].distance(Point<3>(1, 0, 0)), 0, 1e-10);",
              "ASSERT_NEAR(p[1].distance(Point<3>(0, 1, 0)), 0, 1e-10);",
              "ASSERT_NEAR(p[2].distance(Point<3>(-1, 0, 0)), 0, 1e-10);",
              "ASSERT_NEAR(p[3].distance(Point<3>(0, -1, 0)), 0, 1e-10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.CheckPointsRotated",
            "source_line": 61,
            "action": "keep",
            "reason": "Live Inclusions support-point coordinates and proper rotations including singular negative-z directions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(p[0].norm(), 1, 1e-10);",
              "ASSERT_NEAR(p[1].norm(), 1, 1e-10);",
              "ASSERT_NEAR(p[2].norm(), 1, 1e-10);",
              "ASSERT_NEAR(p[3].norm(), 1, 1e-10);",
              "ASSERT_NEAR(p[0].distance(Point<3>(0, 0, -1)), 0, 1e-10);",
              "ASSERT_NEAR(p[1].distance(Point<3>(0, 1, 0)), 0, 1e-10);",
              "ASSERT_NEAR(p[2].distance(Point<3>(0, 0, 1)), 0, 1e-10);",
              "ASSERT_NEAR(p[3].distance(Point<3>(0, -1, 0)), 0, 1e-10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.CheckNegativeZDirection",
            "source_line": 84,
            "action": "keep",
            "reason": "Live Inclusions support-point coordinates and proper rotations including singular negative-z directions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR((a - mzdir).norm(), 0, 1e-10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.CheckAlmostNegativeZDirection",
            "source_line": 103,
            "action": "keep",
            "reason": "Live Inclusions support-point coordinates and proper rotations including singular negative-z directions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR((a - mzdir).norm(), 0, 1e-10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/reference_inclusion_02.cc",
      "review_category": "core",
      "baseline_source_sha256": "c2b01aa5f5c5893e90991afe772be69eac20406837d14e30192c86d0c920d07e",
      "candidate_source_sha256": "c2b01aa5f5c5893e90991afe772be69eac20406837d14e30192c86d0c920d07e",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
        "source_lines_before": 155,
        "source_lines_after": 155,
        "cases_before": [
          {
            "case": "Inclusion2.CheckComponents",
            "source_line": 29,
            "action": "keep",
            "reason": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(exact_component.size(), N, 0.1);",
              "ASSERT_NEAR(ref.get_component(i), exact_component[i], 0.1);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.012,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.CheckComponents",
            "source_line": 52,
            "action": "keep",
            "reason": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NEAR(exact_component.size(), N, 0.1);",
              "ASSERT_NEAR(ref.get_component(i), exact_component[i], 0.1);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.125,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.SelectionSetsNumberOfCoefficients",
            "source_line": 95,
            "action": "keep",
            "reason": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(inclusions.n_dofs_per_inclusion(), 2u);",
              "EXPECT_EQ(inclusions.get_n_coefficients(), 2u);",
              "EXPECT_EQ(inclusions.get_selected_coefficients(),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.SelectionMatchesNumberOfCoefficients",
            "source_line": 106,
            "action": "keep",
            "reason": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(inclusions.n_dofs_per_inclusion(), 2u);",
              "EXPECT_EQ(inclusions.get_n_coefficients(), 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.SelectionMismatchThrows",
            "source_line": 115,
            "action": "keep",
            "reason": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(inclusions.initialize(), ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.NoSelectionUsesAllComponentsOfFirstModes",
            "source_line": 122,
            "action": "keep",
            "reason": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(inclusions.n_dofs_per_inclusion(), 6u);",
              "EXPECT_EQ(inclusions.get_n_coefficients(), 2u);",
              "EXPECT_EQ(inclusions.get_selected_coefficients(),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.NoSelectionNoCoefficientsGivesNoDofs",
            "source_line": 133,
            "action": "keep",
            "reason": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(inclusions.n_dofs_per_inclusion(), 0u);",
              "EXPECT_EQ(inclusions.n_dofs(), 0u);",
              "EXPECT_NE(output.find(\"no Fourier coefficients are selected\"),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Inclusion3.NoInclusionsNoCoefficientsIsSilent",
            "source_line": 146,
            "action": "keep",
            "reason": "Live Inclusions component ordering, selections/defaults and invalid/empty selection diagnostics.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(inclusions.n_dofs_per_inclusion(), 0u);",
              "EXPECT_TRUE(output.empty());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/second_order_preconditioner_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "8c215a5a28cb801a4501dc9947f742260dc3e336126d49ceb1d2be9531221b08",
      "candidate_source_sha256": "8c215a5a28cb801a4501dc9947f742260dc3e336126d49ceb1d2be9531221b08",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Physical Schur factorization against a known solution/true residual, spatial revision invalidation and linear coupled Schur actions.",
        "source_lines_before": 347,
        "source_lines_after": 347,
        "cases_before": [
          {
            "case": "Elastodynamics.BOTH_PhysicalSchurFactorizationAndFlexibleSolve",
            "source_line": 89,
            "action": "keep",
            "reason": "Physical Schur factorization against a known solution/true residual, spatial revision invalidation and linear coupled Schur actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LE(residual.l2_norm(), 0.1 * rhs.l2_norm());",
              "EXPECT_LE(residual.l2_norm(), 2.e-12 * rhs.l2_norm());",
              "EXPECT_LE(solution.l2_norm(), 1.e-9);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Elastodynamics",
                "rank": 0,
                "seconds": 0.093,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Elastodynamics",
                "rank": null,
                "seconds": 0.036,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Elastodynamics.BOTH_PhysicalSchurRefreshesOnSpatialRevision",
            "source_line": 200,
            "action": "keep",
            "reason": "Physical Schur factorization against a known solution/true residual, spatial revision invalidation and linear coupled Schur actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(problem.preconditioner_data_calls, phase < 2 ? 1u : 2u);",
              "EXPECT_NEAR(action.block(0)(index),",
              "EXPECT_NEAR(action.block(1)(index),",
              "EXPECT_THROW(composition.second_order_preconditioner(state, state_dot, 2.),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Elastodynamics",
                "rank": 0,
                "seconds": 0.059,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Elastodynamics",
                "rank": null,
                "seconds": 0.034,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Elastodynamics.BOTH_CoupledSchurActionIsLinear",
            "source_line": 289,
            "action": "keep",
            "reason": "Physical Schur factorization against a known solution/true residual, spatial revision invalidation and linear coupled Schur actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LE(action_sum.l2_norm(),",
              "EXPECT_NEAR(x * action_y,"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Elastodynamics",
                "rank": 0,
                "seconds": 0.071,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Elastodynamics",
                "rank": null,
                "seconds": 0.042,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/simplex_core_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "560c42f587baedc25a028369e54152ffeb371eabf89bfc9dd5e2ba61ae85b2de",
      "candidate_source_sha256": "560c42f587baedc25a028369e54152ffeb371eabf89bfc9dd5e2ba61ae85b2de",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Simplex native serial integrals, nonlinear derivative and constraint metric; domain/particle mapping and mixed-cell rejection.",
        "source_lines_before": 292,
        "source_lines_after": 292,
        "cases_before": [
          {
            "case": "WeakTerm.SimplexTriangleIntegrals",
            "source_line": 215,
            "action": "keep",
            "reason": "Simplex native serial integrals, nonlinear derivative and constraint metric; domain/particle mapping and mixed-cell rejection.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_simplex_integrals<2>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.SimplexTetrahedronIntegrals",
            "source_line": 220,
            "action": "keep",
            "reason": "Simplex native serial integrals, nonlinear derivative and constraint metric; domain/particle mapping and mixed-cell rejection.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_simplex_integrals<3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.058,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.BOTH_SimplexTriangleRefinementAndSpaceMapping",
            "source_line": 225,
            "action": "keep",
            "reason": "Simplex native serial integrals, nonlinear derivative and constraint metric; domain/particle mapping and mixed-cell rejection.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_simplex_domain<2>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.026,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.022,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.BOTH_SimplexTetrahedronRefinementAndSpaceMapping",
            "source_line": 230,
            "action": "keep",
            "reason": "Simplex native serial integrals, nonlinear derivative and constraint metric; domain/particle mapping and mixed-cell rejection.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_simplex_domain<3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.082,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.071,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.BOTH_RejectsMixedReferenceCells",
            "source_line": 235,
            "action": "keep",
            "reason": "Simplex native serial integrals, nonlinear derivative and constraint metric; domain/particle mapping and mixed-cell rejection.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(mixed.get_reference_cells().size(), 2u);",
              "EXPECT_THROW(domain.prepare_grid(mixed), ExceptionBase);",
              "EXPECT_THROW(support.triangulation(), ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.001,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LiftedIntegrationSupport.BOTH_TriangularSheetVolume",
            "source_line": 258,
            "action": "keep",
            "reason": "Simplex native serial integrals, nonlinear derivative and constraint metric; domain/particle mapping and mixed-cell rejection.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GE(point.point[0], -1.e-12);",
              "EXPECT_LE(point.point[0], 1. + 1.e-12);",
              "EXPECT_GE(point.point[1], -1.e-12);",
              "EXPECT_LE(point.point[1], 1. + 1.e-12);",
              "EXPECT_LE(std::abs(point.point[2]), 0.25 + 1.e-12);",
              "EXPECT_NEAR(Utilities::MPI::sum(local_measure, MPI_COMM_WORLD), 0.5, 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LiftedIntegrationSupport",
                "rank": 0,
                "seconds": 0.017,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LiftedIntegrationSupport",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/simplex_core_distributed_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "5bf8991a5b4b8a5df4a33240ce35c11d0ab6e2cbc33c62506c901ced2a574426",
      "candidate_source_sha256": "5bf8991a5b4b8a5df4a33240ce35c11d0ab6e2cbc33c62506c901ced2a574426",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Distinct distributed-backend simplex volume/boundary/frozen forcing and multiplier metric, run both serial and MPI.",
        "source_lines_before": 105,
        "source_lines_after": 105,
        "cases_before": [
          {
            "case": "WeakTerm.BOTH_DistributedSimplexTriangleIntegrals",
            "source_line": 97,
            "action": "keep",
            "reason": "Distinct distributed-backend simplex volume/boundary/frozen forcing and multiplier metric, run both serial and MPI.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_distributed_simplex_integrals<2>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.038,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.012,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_DistributedSimplexTetrahedronIntegrals",
            "source_line": 102,
            "action": "keep",
            "reason": "Distinct distributed-backend simplex volume/boundary/frozen forcing and multiplier metric, run both serial and MPI.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_distributed_simplex_integrals<3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.044,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.03,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/simplex_empty_rank_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "179354d6dff6a32ad1e01ae0cbd7c26627ad35333eba62c186a74fab28ee0f6a",
      "candidate_source_sha256": "179354d6dff6a32ad1e01ae0cbd7c26627ad35333eba62c186a74fab28ee0f6a",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Empty-rank simplex FE setup, nonzero Poisson solution and collective rejection of inconsistent reference cells.",
        "source_lines_before": 199,
        "source_lines_after": 199,
        "cases_before": [
          {
            "case": "Domain.MPI_SimplexSpaceWithEmptyRanks",
            "source_line": 22,
            "action": "keep",
            "reason": "Empty-rank simplex FE setup, nonzero Poisson solution and collective rejection of inconsistent reference cells.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "EXPECT_EQ(domain.triangulation().n_global_active_cells(), 1u);",
              "EXPECT_EQ(",
              "ASSERT_TRUE(reference_cell.has_value());",
              "EXPECT_TRUE(reference_cell->is_simplex());",
              "EXPECT_TRUE(imported.field().finite_element().reference_cell().is_simplex());",
              "EXPECT_TRUE(local_view.finite_element().reference_cell().is_simplex());",
              "EXPECT_NEAR(ones * result, 1. / 6., 1.e-12);",
              "EXPECT_NEAR(ones * result, 5. / 12., 1.e-12);",
              "EXPECT_EQ(particles.get_particles().n_global_particles(), 1u);",
              "EXPECT_NEAR(ones * result, 1. / 6., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.041,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Poisson.MPI_SimplexWithEmptyRanks",
            "source_line": 120,
            "action": "keep",
            "reason": "Empty-rank simplex FE setup, nonzero Poisson solution and collective rejection of inconsistent reference cells.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "EXPECT_EQ(",
              "EXPECT_TRUE(problem.dof_handler().get_fe().reference_cell().is_simplex());",
              "EXPECT_LT(expected.linfty_norm(), 1.e-11);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [],
            "observed_in_quick_ci": false
          },
          {
            "case": "Domain.MPI_RejectsMixedPhysicalCellsAcrossRanks",
            "source_line": 164,
            "action": "keep",
            "reason": "Empty-rank simplex FE setup, nonzero Poisson solution and collective rejection of inconsistent reference cells.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "EXPECT_GT(Utilities::MPI::min(distributed.n_locally_owned_active_cells(),",
              "EXPECT_THROW((Domain<2>(parameters, distributed)), ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/simplex_grid_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "3c2c3cdc0bf61ec0f7c3d94fc8081ba8cde7c20dff850e6f178b4550f84f331c",
      "candidate_source_sha256": "3c2c3cdc0bf61ec0f7c3d94fc8081ba8cde7c20dff850e6f178b4550f84f331c",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Simplex strong values/normal flux, imported refinement and background/point-cloud co-refinement.",
        "source_lines_before": 213,
        "source_lines_after": 213,
        "cases_before": [
          {
            "case": "BoundaryConditions.BOTH_SimplexStrongValues",
            "source_line": 148,
            "action": "keep",
            "reason": "Simplex strong values/normal flux, imported refinement and background/point-cloud co-refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_boundary<2>(",
              "check_boundary<3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.069,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_MPI_BoundaryConditions",
                "rank": 0,
                "seconds": 0.067,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Domain.BOTH_SimplexImportedFieldsAfterRefinement",
            "source_line": 155,
            "action": "keep",
            "reason": "Simplex strong values/normal flux, imported refinement and background/point-cloud co-refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_import<2>(",
              "check_import<3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Domain",
                "rank": 0,
                "seconds": 0.07,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_Domain",
                "rank": null,
                "seconds": 0.069,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_SimplexBackground",
            "source_line": 162,
            "action": "keep",
            "reason": "Simplex strong values/normal flux, imported refinement and background/point-cloud co-refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(report.satisfied());",
              "EXPECT_GT(report.intersecting_pairs, 0u);",
              "EXPECT_GT(bulk.triangulation().n_global_active_cells(), 8u);",
              "EXPECT_TRUE(bulk.triangulation().all_reference_cells_are_simplex());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.014,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.012,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "LocalCoRefinement.BOTH_SimplexPointCloud",
            "source_line": 189,
            "action": "keep",
            "reason": "Simplex strong values/normal flux, imported refinement and background/point-cloud co-refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(triangles.n_active_cells(), initial_cells);",
              "EXPECT_TRUE(triangles.all_reference_cells_are_simplex());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_LocalCoRefinement",
                "rank": 0,
                "seconds": 0.004,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_LocalCoRefinement",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "BoundaryConditions.BOTH_SimplexNormalFlux",
            "source_line": 209,
            "action": "keep",
            "reason": "Simplex strong values/normal flux, imported refinement and background/point-cloud co-refinement.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_flux<2>(",
              "check_flux<3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_BoundaryConditions",
                "rank": 0,
                "seconds": 0.046,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_BoundaryConditions",
                "rank": null,
                "seconds": 0.038,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/state_history_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "0006bbadabe999dee563d3cb004809eef44e4bbcd4cac71c3d0d8edb10a13391",
      "candidate_source_sha256": "0006bbadabe999dee563d3cb004809eef44e4bbcd4cac71c3d0d8edb10a13391",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Accepted-snapshot interpolation, independent/shared history groups and intermediate residual queries.",
        "source_lines_before": 152,
        "source_lines_after": 152,
        "cases_before": [
          {
            "case": "StateHistory.InterpolatesAcceptedSnapshots",
            "source_line": 23,
            "action": "keep",
            "reason": "Accepted-snapshot interpolation, independent/shared history groups and intermediate residual queries.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(middle[0], 1.);",
              "EXPECT_DOUBLE_EQ(middle[1], 8.);",
              "EXPECT_DOUBLE_EQ(history.latest()[0], 4.);",
              "EXPECT_EQ(history.size(), 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "StateHistory.HistoryGroupsKeepIndependentTimeGrids",
            "source_line": 45,
            "action": "keep",
            "reason": "Accepted-snapshot interpolation, independent/shared history groups and intermediate residual queries.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(histories.at(fluid, 1.), 10.);",
              "EXPECT_DOUBLE_EQ(histories.at(network, 0.25), 12.5);",
              "EXPECT_DOUBLE_EQ(histories.history(fluid).last_time(), 2.);",
              "EXPECT_DOUBLE_EQ(histories.history(network).last_time(), 1.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "StateHistory.MultipleFieldsCanShareOneHistoryTimeline",
            "source_line": 63,
            "action": "keep",
            "reason": "Accepted-snapshot interpolation, independent/shared history groups and intermediate residual queries.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(layout.field(velocity).history_group,",
              "EXPECT_DOUBLE_EQ(middle[velocity.value()], 2.);",
              "EXPECT_DOUBLE_EQ(middle[pressure.value()], 6.);",
              "EXPECT_EQ(histories.history(layout.field(pressure).history_group).size(), 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "StateHistory.SameResidualWorksWithIntermediateHistoryQuery",
            "source_line": 96,
            "action": "keep",
            "reason": "Accepted-snapshot interpolation, independent/shared history groups and intermediate residual queries.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(residual[0], 3.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/sundials_compatibility_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "09d4b0a781ee0a12574eb06c0b8be77783f185bbbe1f3d17c51c51062ed247f5",
      "candidate_source_sha256": "09d4b0a781ee0a12574eb06c0b8be77783f185bbbe1f3d17c51c51062ed247f5",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Backported SUNDIALS operations on distinct serial/distributed block vector backends, controls/constraints/expert setup and parameter locality.",
        "source_lines_before": 203,
        "source_lines_after": 203,
        "cases_before": [
          {
            "case": "SundialsCompatibility.SerialVectorOperations",
            "source_line": 85,
            "action": "keep",
            "reason": "Backported SUNDIALS operations on distinct serial/distributed block vector backends, controls/constraints/expert setup and parameter locality.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_vector_operations("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_SundialsCompatibility",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SundialsCompatibility.BOTH_DistributedBlockVectorOperations",
            "source_line": 94,
            "action": "keep",
            "reason": "Backported SUNDIALS operations on distinct serial/distributed block vector backends, controls/constraints/expert setup and parameter locality.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_vector_operations("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_SundialsCompatibility",
                "rank": 0,
                "seconds": 0.004,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_SundialsCompatibility",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SundialsCompatibility.ControlsConstraintsAndExpertSetup",
            "source_line": 106,
            "action": "keep",
            "reason": "Backported SUNDIALS operations on distinct serial/distributed block vector backends, controls/constraints/expert setup and parameter locality.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "static_assert(!std::is_same_v<IDA, dealii::SUNDIALS::IDA<Vector>>);",
              "EXPECT_DOUBLE_EQ(data.minimum_step_size, 1.e-15);",
              "EXPECT_EQ(ida.get_ida_memory(), nullptr);",
              "EXPECT_GT(setup_count, 0u);",
              "EXPECT_EQ(memory, ida.get_ida_memory());",
              "EXPECT_EQ(IDAGetUserData(memory, &user_data), IDA_SUCCESS);",
              "EXPECT_EQ(user_data, &ida);",
              "EXPECT_NEAR(state[0], 1. - t, 1.e-8);",
              "EXPECT_NEAR(dot[0], -1., 1.e-8);",
              "EXPECT_GT(state[0], 0.);",
              "EXPECT_DOUBLE_EQ(t, 0.);",
              "EXPECT_GE(ida.solve_dae(y, yp), 32u);",
              "EXPECT_EQ(setup_count, 1u);",
              "EXPECT_NEAR(y[0], 0.2, 1.e-8);",
              "EXPECT_EQ(IDAGetNumSteps(ida.get_ida_memory(), &steps), IDA_SUCCESS);",
              "EXPECT_GE(steps, 32);",
              "EXPECT_EQ(IDAGetLastStep(ida.get_ida_memory(), &last_step), IDA_SUCCESS);",
              "EXPECT_LE(last_step, data.maximum_step_size * (1. + 1.e-12));",
              "EXPECT_GE(last_step, data.minimum_step_size);",
              "EXPECT_EQ(setup_count, 2u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_SundialsCompatibility",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SundialsCompatibility.ParametersAreInstanceLocal",
            "source_line": 180,
            "action": "keep",
            "reason": "Backported SUNDIALS operations on distinct serial/distributed block vector backends, controls/constraints/expert setup and parameter locality.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(first.maximum_step_size, 0.125);",
              "EXPECT_DOUBLE_EQ(first.linear_tolerance_factor, 0.1);",
              "EXPECT_EQ(first.ic_type, IDA::AdditionalData::use_y_diff);",
              "EXPECT_EQ(second.ic_type, IDA::AdditionalData::use_y_dot);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_SundialsCompatibility",
                "rank": null,
                "seconds": 0.01,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SundialsCompatibility.Unavailable",
            "source_line": 199,
            "action": "keep",
            "reason": "Backported SUNDIALS operations on distinct serial/distributed block vector backends, controls/constraints/expert setup and parameter locality.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was configured without SUNDIALS support.\";"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [],
            "observed_in_quick_ci": false
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/symbolic_expression_kernel_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "15c479dfffae43f0b3330e95e17f15c92b9e8fb76b42a65f39293b170e97a9fc",
      "candidate_source_sha256": "15c479dfffae43f0b3330e95e17f15c92b9e8fb76b42a65f39293b170e97a9fc",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Symbol order, duplicate derivatives, coordinates/time/constants and invalid/nonfinite symbolic evaluation.",
        "source_lines_before": 84,
        "source_lines_after": 84,
        "cases_before": [
          {
            "case": "SymbolicExpressionKernel.OneIndependentSymbol",
            "source_line": 6,
            "action": "keep",
            "reason": "Symbol order, duplicate derivatives, coordinates/time/constants and invalid/nonfinite symbolic evaluation.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(result.value, 10.0);",
              "ASSERT_EQ(result.derivatives.size(), 1u);",
              "EXPECT_DOUBLE_EQ(result.derivatives[0], 7.0);",
              "EXPECT_FALSE(SymbolicExpressionKernel::available());",
              "EXPECT_THROW(kernel.initialize(\"A*A + beta*A\", {\"A\"}, {{\"beta\", 3.0}}),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SymbolicExpressionKernel.PreservesIndependentSymbolOrder",
            "source_line": 23,
            "action": "keep",
            "reason": "Symbol order, duplicate derivatives, coordinates/time/constants and invalid/nonfinite symbolic evaluation.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(result.value, 14.0);",
              "ASSERT_EQ(result.derivatives.size(), 2u);",
              "EXPECT_DOUBLE_EQ(result.derivatives[0], 9.0);",
              "EXPECT_DOUBLE_EQ(result.derivatives[1], 2.0);",
              "EXPECT_THROW(kernel.initialize(\"A*U + A*A\", {\"A\", \"U\"}), std::runtime_error);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SymbolicExpressionKernel.PreservesDuplicateDerivativeExpressions",
            "source_line": 38,
            "action": "keep",
            "reason": "Symbol order, duplicate derivatives, coordinates/time/constants and invalid/nonfinite symbolic evaluation.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(result.value, 7.0);",
              "ASSERT_EQ(result.derivatives.size(), 2u);",
              "EXPECT_DOUBLE_EQ(result.derivatives[0], 1.0);",
              "EXPECT_DOUBLE_EQ(result.derivatives[1], 1.0);",
              "EXPECT_FALSE(SymbolicExpressionKernel::available());",
              "EXPECT_THROW(kernel.initialize(\"a + b\", {\"a\", \"b\"}), std::runtime_error);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SymbolicExpressionKernel.CoordinatesTimeAndConstants",
            "source_line": 55,
            "action": "keep",
            "reason": "Symbol order, duplicate derivatives, coordinates/time/constants and invalid/nonfinite symbolic evaluation.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_DOUBLE_EQ(result.value, 23.0);",
              "EXPECT_TRUE(result.derivatives.empty());",
              "EXPECT_THROW(kernel.initialize(\"x + t + offset\", {}, {{\"offset\", 1.0}}),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SymbolicExpressionKernel.ValidatesSymbolicInputs",
            "source_line": 70,
            "action": "keep",
            "reason": "Symbol order, duplicate derivatives, coordinates/time/constants and invalid/nonfinite symbolic evaluation.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(kernel.initialize(\"A + unknown\", {\"A\"}), std::runtime_error);",
              "EXPECT_THROW(kernel.initialize(\"A\", {\"bad-name\"}), std::runtime_error);",
              "EXPECT_THROW(kernel.initialize(\"A\", {\"A\"}, {{\"A\", 1.0}}), std::runtime_error);",
              "EXPECT_THROW(kernel.evaluate(std::vector<double>{}, 0.0, {0.0}),",
              "EXPECT_FALSE(SymbolicExpressionKernel::available());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/symbolic_field_evaluator_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "673d3c48b3e6ddfe34411f4abf02b7800998d82b783c9dbef2aa174464efd8de",
      "candidate_source_sha256": "673d3c48b3e6ddfe34411f4abf02b7800998d82b783c9dbef2aa174464efd8de",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Availability/empty outputs, duplicate expressions and FE-property symbolic input; this layer differs from the derivative kernel.",
        "source_lines_before": 58,
        "source_lines_after": 58,
        "cases_before": [
          {
            "case": "SymbolicFieldEvaluator.ReportsAvailabilityAndEmptyExpressions",
            "source_line": 6,
            "action": "keep",
            "reason": "Availability/empty outputs, duplicate expressions and FE-property symbolic input; this layer differs from the derivative kernel.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(evaluator.n_outputs(), 0u);",
              "EXPECT_TRUE(SymbolicFieldEvaluator::available());",
              "ASSERT_EQ(values.size(), 2u);",
              "EXPECT_DOUBLE_EQ(values[0], 14.0);",
              "EXPECT_DOUBLE_EQ(values[1], 1.2);",
              "ASSERT_EQ(sine.size(), 1u);",
              "EXPECT_DOUBLE_EQ(sine[0], 3.0);",
              "ASSERT_EQ(scientific.size(), 1u);",
              "EXPECT_DOUBLE_EQ(scientific[0], 2.001);",
              "EXPECT_THROW(evaluator.initialize({\"unknown + 1\"}, {\"radius\"}),",
              "EXPECT_THROW(evaluator.evaluate(std::vector<double>{0.0}, 0.0, {0.0}),",
              "EXPECT_FALSE(SymbolicFieldEvaluator::available());",
              "EXPECT_THROW(evaluator.initialize({\"radius^2\"}, {\"radius\"}),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "SymbolicFieldEvaluator.PreservesDuplicateOutputExpressions",
            "source_line": 42,
            "action": "keep",
            "reason": "Availability/empty outputs, duplicate expressions and FE-property symbolic input; this layer differs from the derivative kernel.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(evaluator.n_outputs(), 2u);",
              "ASSERT_EQ(values.size(), 2u);",
              "EXPECT_DOUBLE_EQ(values[0], 0.1);",
              "EXPECT_DOUBLE_EQ(values[1], 0.1);",
              "EXPECT_FALSE(SymbolicFieldEvaluator::available());",
              "EXPECT_THROW(evaluator.initialize({\"0.1\", \"0.1\"}, {}), std::runtime_error);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/tensor_product_space_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "f264d45ba7c12debc909934729bd560d1b799f4ee23fe3919a558f00af18fc2c",
      "candidate_source_sha256": "68f33a43c9765f4132c33cc576b4f1386e602272dc8bbac08f57232563696aaa",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Representative-grid construction/immersed ownership and a corrected three-mode physical cross-section mass regression.",
        "source_lines_before": 196,
        "source_lines_after": 172,
        "cases_before": [
          {
            "case": "TensorProductSpace.GridGeneration",
            "source_line": 37,
            "action": "keep",
            "reason": "Representative-grid construction/immersed ownership and a corrected three-mode physical cross-section mass regression.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_GT(dof_handler.n_dofs(), 0);",
              "ASSERT_FALSE(qpoints.empty());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_TensorProductSpace",
                "rank": null,
                "seconds": 0.023,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace.MPI_ImmersedGridPartitioning",
            "source_line": 64,
            "action": "keep",
            "reason": "Representative-grid construction/immersed ownership and a corrected three-mode physical cross-section mass regression.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_GT(dof_handler.n_dofs(), 0);",
              "ASSERT_GT(n_local_dofs, 0u);",
              "ASSERT_LT(n_local_dofs, tps.get_dof_handler().n_dofs());",
              "ASSERT_FALSE(qpoints.empty())",
              "ASSERT_GE(cell_index, 0);",
              "ASSERT_GE(q_index, 0);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_TensorProductSpace",
                "rank": 0,
                "seconds": 0.065,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace.OrthoNormality",
            "source_line": 139,
            "action": "replace-defective-regression",
            "reason": "Fix the inner loop incrementing i rather than j; exercise three basis modes and all nine products, checking native reference mean squares and physical thickness weights on one segment.",
            "replacement_cases": [
              "TensorProductSpace.CrossSectionWeightsMatchReferenceMass"
            ],
            "direct_oracle_lines": [
              "ASSERT_NEAR(integral, 0.0, 1e-10)",
              "ASSERT_NEAR(integral,"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_TensorProductSpace",
                "rank": null,
                "seconds": 0.023,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": [
          "TensorProductSpace.CrossSectionWeightsMatchReferenceMass"
        ]
      }
    },
    {
      "path": "gtests/tensor_product_space_02.cc",
      "review_category": "core",
      "baseline_source_sha256": "bcadb068f9bc1a60ab94aefb482aae8a3b231e40d84a2ab1658b6f71c9001244",
      "candidate_source_sha256": "6f74fae5968fd5380588b199303f27b062e4ffed5f32d6b89953eab87a494f30",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
        "source_lines_before": 722,
        "source_lines_after": 710,
        "cases_before": [
          {
            "case": "TensorProductSpace0D.PointsWeightsAndDofs",
            "source_line": 30,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(space.n_representative_entities(), 3u);",
              "EXPECT_EQ(space.n_representative_dofs(), 3u);",
              "EXPECT_EQ(space.get_locally_owned_reduced_qpoints().size(), 3u);",
              "EXPECT_EQ(space.get_locally_owned_reduced_weights().size(), 3u);",
              "EXPECT_EQ(space.get_locally_owned_qpoints().size(),",
              "EXPECT_EQ(space.get_representative_dof_indices(i).size(), 1u);",
              "EXPECT_DOUBLE_EQ(space.get_locally_owned_reduced_weights()[i][0], 1.0);",
              "EXPECT_NEAR(lifted_sum,"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.02,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.VectorSelectedCoefficientsHaveContiguousDofs",
            "source_line": 63,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(space.n_representative_dofs_per_entity(), 3u);",
              "ASSERT_EQ(space.n_representative_dofs(), 6u);",
              "ASSERT_EQ(indices.size(), 3u);",
              "EXPECT_EQ(indices[j], entity * 3 + j);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.037,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.PointCloudOrientationAndDefault",
            "source_line": 83,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(default_space.get_entity_orientation(0)[0], 0., 1e-12);",
              "EXPECT_NEAR(default_space.get_entity_orientation(0)[1], 1., 1e-12);",
              "EXPECT_NEAR(oriented_space.get_entity_orientation(0)[0], 1., 1e-12);",
              "EXPECT_NEAR(oriented_space.get_entity_orientation(0)[1], 0., 1e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.038,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.VectorModesFollowPointCloudOrientation",
            "source_line": 106,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(mode_values.size(), 2u);",
              "EXPECT_NEAR(mode_values[0], 0., 1.e-12);",
              "EXPECT_NEAR(mode_values[1], -1., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.022,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.RejectsTimeDependentThickness",
            "source_line": 128,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(space.initialize(), ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.02,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.UnsupportedImportedInputs",
            "source_line": 138,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(space.initialize(), ExceptionBase);",
              "EXPECT_ANY_THROW(space.initialize());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.037,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.ProgrammaticPointCloudRadiusThickness",
            "source_line": 163,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(space.initialize());",
              "ASSERT_EQ(space.get_properties_bindings().size(), 1u);",
              "ASSERT_EQ(space.get_entity_property_values(0).size(), 1u);",
              "EXPECT_DOUBLE_EQ(space.get_entity_property_values(0)[0], 0.25);",
              "EXPECT_DOUBLE_EQ(space.get_entity_property_values(1)[0], 0.5);",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(0), 0.25);",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(1), 0.5);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.02,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.SetTimeAcceptsStaticThicknessAndUpdatesRhs",
            "source_line": 187,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(coupling.initialize());",
              "ASSERT_NO_THROW(coupling.set_time(2.));",
              "EXPECT_DOUBLE_EQ(coupling.get_entity_thickness(0), 0.25);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ReducedCoupling0D",
                "rank": null,
                "seconds": 0.046,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.MPI_RankLocalProgrammaticPointCloud",
            "source_line": 211,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_TRUE(found_local_cell);",
              "ASSERT_NO_THROW(coupling.initialize());",
              "EXPECT_EQ(coupling.n_representative_entities(), nproc);",
              "EXPECT_DOUBLE_EQ(coupling.get_entity_property_values(entity)[0],",
              "EXPECT_DOUBLE_EQ(coupling.get_entity_thickness(entity), 0.25 + entity);",
              "EXPECT_TRUE(relevant.is_element(entity));",
              "EXPECT_EQ(n_owners, 1u);",
              "EXPECT_NE(owner, static_cast<int>(entity));"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ReducedCoupling0D",
                "rank": 0,
                "seconds": 0.044,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.MPI_RankLocalEmptySourceRanks",
            "source_line": 299,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(coupling.initialize());",
              "ASSERT_EQ(coupling.n_representative_entities(), 2u);",
              "EXPECT_EQ(n_owners, 1u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ReducedCoupling0D",
                "rank": 0,
                "seconds": 0.029,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.ThicknessScalingAndLiftedMeasure",
            "source_line": 349,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(double_measure / unit_measure, 4., 1e-12);",
              "EXPECT_NEAR(lifted_sum, double_measure, 1e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.045,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.ImportsReorderedCellDataFromPointCloud",
            "source_line": 378,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(space.initialize());",
              "ASSERT_EQ(space.get_properties_bindings().size(), 1u);",
              "ASSERT_EQ(space.n_representative_entities(), 3u);",
              "EXPECT_DOUBLE_EQ(space.get_entity_property_values(0)[0], 10.);",
              "EXPECT_DOUBLE_EQ(space.get_entity_property_values(1)[0], 20.);",
              "EXPECT_DOUBLE_EQ(space.get_entity_property_values(2)[0], 30.);",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(0), 10.);",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(1), 20.);",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(2), 30.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.028,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.ImportsRadiusThicknessFromPointCloud",
            "source_line": 404,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(space.initialize());",
              "ASSERT_EQ(space.n_representative_entities(), 2u);",
              "ASSERT_EQ(space.get_properties_bindings().size(), 1u);",
              "ASSERT_EQ(space.get_entity_property_values(0).size(), 1u);",
              "EXPECT_DOUBLE_EQ(space.get_entity_property_values(0)[0], 0.25);",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(0), 0.25);",
              "EXPECT_DOUBLE_EQ(space.get_entity_thickness(1), 0.5);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.065,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.MPI_ImportsDistributedPVTU",
            "source_line": 437,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "GTEST_SKIP() << \"deal.II was built without SymEngine\";",
              "ASSERT_NO_THROW(coupling.initialize());",
              "ASSERT_EQ(coupling.n_representative_entities(), 2u);",
              "EXPECT_DOUBLE_EQ(coupling.get_entity_thickness(entity),",
              "EXPECT_EQ(n_owners, 1u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ReducedCoupling0D",
                "rank": 0,
                "seconds": 0.031,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "TensorProductSpace0D.MPI_StableParticleMapping",
            "source_line": 477,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(all_entity_ids.size(),",
              "EXPECT_EQ(all_entity_ids[i],"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.145,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedPoisson0D.TemplatePathCompiles",
            "source_line": 517,
            "action": "remove-duplicate",
            "reason": "The same ReducedPoisson<2,2,0> constructor/template is already compiled and exercised by the nonzero coupling assembly/solve test. The separate 3D sphere specialization stays.",
            "replacement_cases": [
              "ReducedPoisson0D.MPI_OneCycleAssemblySolve"
            ],
            "direct_oracle_lines": [],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.03,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedPoisson0D.ThreeDimensionalSphereCrossSectionTemplatePathCompiles",
            "source_line": 530,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.045,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.ThreeDimensionalSphereCrossSectionInitializes",
            "source_line": 543,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(coupling.initialize());",
              "EXPECT_GT(coupling.get_reference_cross_section().n_quadrature_points(), 0u);",
              "EXPECT_GT(coupling.get_reference_cross_section().measure(1.), 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ReducedCoupling0D",
                "rank": null,
                "seconds": 0.349,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.SpaceRefinementParametersRefineBulk",
            "source_line": 559,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(background.n_global_active_cells(), 16u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ReducedCoupling0D",
                "rank": null,
                "seconds": 0.018,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.PointScaleRefinementTargetsBulkCells",
            "source_line": 579,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(background.n_global_active_cells(), 4u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ReducedCoupling0D",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedPoisson0D.MPI_OneCycleAssemblySolve",
            "source_line": 598,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(problem.n_reduced_dofs(), 1u);",
              "EXPECT_GT(problem.coupling_matrix_frobenius_norm(), 0.);",
              "EXPECT_TRUE(problem.bulk_solution_is_finite());",
              "EXPECT_TRUE(problem.multiplier_solution_is_finite());",
              "EXPECT_GT(problem.bulk_solution_l2_norm(), 0.);",
              "EXPECT_GT(problem.multiplier_solution_l2_norm(), 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.188,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.VectorInitializationUsesSelectedBasisCount",
            "source_line": 647,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(coupling.initialize());",
              "EXPECT_EQ(coupling.n_representative_dofs_per_entity(), 3u);",
              "EXPECT_GT(matrix.frobenius_norm(), 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_ReducedCoupling0D",
                "rank": null,
                "seconds": 0.079,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "ReducedCoupling0D.MPI_AssemblyInterfaces",
            "source_line": 678,
            "action": "keep",
            "reason": "Zero-dimensional clouds and stable particle IDs, imported metadata, exact scales, refinement policies and actual coupling/Poisson assembly; retain unique 3D specialization.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(global_matrix_norm, 0.);",
              "EXPECT_GT(global_mass_diagonal, 0.);",
              "EXPECT_GT(global_rhs_norm, 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_ReducedCoupling0D",
                "rank": 0,
                "seconds": 0.025,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/vector_lagrange_multiplier_interaction_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "9ac885f4b82e614ee9d0312614273c2b54cb6b7b51d13f6b0b788125738e0155",
      "candidate_source_sha256": "9ac885f4b82e614ee9d0312614273c2b54cb6b7b51d13f6b0b788125738e0155",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Vector multiplier geometry with different ambient components and nonmatching partitions.",
        "source_lines_before": 231,
        "source_lines_after": 231,
        "cases_before": [
          {
            "case": "Constraint.IndependentVectorMultiplierSharedGeometry",
            "source_line": 99,
            "action": "keep",
            "reason": "Vector multiplier geometry with different ambient components and nonmatching partitions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);",
              "EXPECT_EQ(detail::weak_term_nonmatching_preparations.load(), preparations);",
              "ASSERT_TRUE(multiplier_block.has_value());",
              "ASSERT_TRUE(source_block.has_value());",
              "ASSERT_EQ(multiplier_block->matrix()->m(), multiplier_dh.n_dofs());",
              "ASSERT_EQ(multiplier_block->matrix()->n(), source_space.dof_handler.n_dofs());",
              "ASSERT_EQ(source_block->matrix()->m(), source_space.dof_handler.n_dofs());",
              "ASSERT_EQ(source_block->matrix()->n(), multiplier_dh.n_dofs());",
              "EXPECT_GT(multiplier_block->matrix()->n_nonzero_elements(), 0u);",
              "EXPECT_NEAR(multiplier_action * lambda_state,"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_Constraint",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "Constraint.MPI_VectorNonmatchingGeometry",
            "source_line": 176,
            "action": "keep",
            "reason": "Vector multiplier geometry with different ambient components and nonmatching partitions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_GE(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "EXPECT_EQ(detail::weak_term_nonmatching_preparations.load(), preparations);",
              "ASSERT_TRUE(multiplier_block.has_value());",
              "EXPECT_EQ(detail::weak_term_nonmatching_preparations.load(),",
              "EXPECT_EQ(matrix->m(), multiplier_space.dof_handler.n_dofs());",
              "EXPECT_EQ(matrix->n(), source_space.dof_handler.n_dofs());",
              "EXPECT_GT(matrix->n_nonzero_elements(), 0u);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_Constraint",
                "rank": 0,
                "seconds": 0.023,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/vtk_field_catalog_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "181f6d709a9a88dbda2ea70770e2b88fa5ec4d0de1ad8f89156448fc75446d2a",
      "candidate_source_sha256": "181f6d709a9a88dbda2ea70770e2b88fa5ec4d0de1ad8f89156448fc75446d2a",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Structured catalog association/component offsets and read overload linkage, distinct from legacy string-name readers.",
        "source_lines_before": 42,
        "source_lines_after": 42,
        "cases_before": [
          {
            "case": "FieldCatalog.PreservesAssociationAndComponentLayout",
            "source_line": 9,
            "action": "keep",
            "reason": "Structured catalog association/component offsets and read overload linkage, distinct from legacy string-name readers.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(catalog.size(), 4u);",
              "EXPECT_EQ(catalog[0].name, \"x\");",
              "EXPECT_EQ(catalog[0].association, FieldAssociation::point_data);",
              "EXPECT_EQ(catalog[0].n_components, 1u);",
              "EXPECT_EQ(catalog[0].first_fe_component, 0u);",
              "EXPECT_EQ(catalog[1].name, \"xyz\");",
              "EXPECT_EQ(catalog[1].n_components, 3u);",
              "EXPECT_EQ(catalog[1].first_fe_component, 1u);",
              "EXPECT_EQ(catalog[2].association, FieldAssociation::cell_data);",
              "EXPECT_EQ(catalog[3].n_components, 3u);",
              "EXPECT_EQ(fe->n_blocks(), catalog.size());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "FieldCatalog.ReadCatalogOverloadLinksAndImports",
            "source_line": 27,
            "action": "keep",
            "reason": "Structured catalog association/component offsets and read overload linkage, distinct from legacy string-name readers.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(catalog.size(), 4u);",
              "EXPECT_EQ(properties.size(), dof_handler.n_dofs());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/vtk_utils_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "de297c4c353ee9b7ca6cce41ada67ae125dcd45c6b5009d5d93a052441d2c5ef",
      "candidate_source_sha256": "4965d2434c61ae9f8384f63c4c4ec3c418043c690c35fd20fb24c5a29355ee3c",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
        "source_lines_before": 865,
        "source_lines_after": 785,
        "cases_before": [
          {
            "case": "VTKUtils.ReadPointCloudAndXml",
            "source_line": 62,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(VTKUtils::read_vtk_point_cloud(filename, point_cloud));",
              "ASSERT_EQ(point_cloud.points.size(), 2u);",
              "ASSERT_EQ(point_cloud.catalog.size(), 1u);",
              "ASSERT_EQ(point_cloud.property_names.size(), 1u);",
              "ASSERT_EQ(point_cloud.property_names.front(), \"radius\");",
              "ASSERT_EQ(point_cloud.properties.size(), 1u);",
              "ASSERT_EQ(point_cloud.properties.front().size(), 2u);",
              "EXPECT_DOUBLE_EQ(point_cloud.points[1][0], 1.0);",
              "EXPECT_DOUBLE_EQ(point_cloud.properties.front()[0], 0.25);",
              "EXPECT_DOUBLE_EQ(point_cloud.properties.front()[1], 0.5);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.ReadXmlMeshFields",
            "source_line": 87,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "ASSERT_EQ(catalog.size(), 1u);",
              "EXPECT_EQ(catalog.front().name, \"u\");",
              "EXPECT_EQ(dof_handler.n_dofs(), 4u);",
              "EXPECT_EQ(coefficients.size(), dof_handler.n_dofs());"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.ReadPointCloudCellDataReorderedByVertex",
            "source_line": 130,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(VTKUtils::read_vtk_point_cloud(filename, point_cloud));",
              "ASSERT_EQ(point_cloud.points.size(), 3u);",
              "ASSERT_EQ(point_cloud.catalog.size(), 1u);",
              "ASSERT_EQ(point_cloud.catalog.front().association,",
              "ASSERT_EQ(point_cloud.properties.size(), 1u);",
              "ASSERT_EQ(point_cloud.properties.front().size(), 3u);",
              "EXPECT_DOUBLE_EQ(point_cloud.properties.front()[0], 10.);",
              "EXPECT_DOUBLE_EQ(point_cloud.properties.front()[1], 20.);",
              "EXPECT_DOUBLE_EQ(point_cloud.properties.front()[2], 30.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.ReadCellData",
            "source_line": 149,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "EXPECT_EQ(output_vector.size(), 9);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.ReadPointDataScalar",
            "source_line": 162,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "EXPECT_EQ(output_vector.size(), 10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.Serial_ReadPointDataScalarAndIndexIt",
            "source_line": 174,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "EXPECT_EQ(output_vector.size(), 10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.MPI_MapDistributedPointDataScalarAndIndexIt",
            "source_line": 198,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "EXPECT_EQ(output_vector.size(), 10);",
              "ASSERT_GT(serial_tria.n_vertices(), 0);",
              "ASSERT_GT(serial_tria.n_active_cells(), 0);",
              "ASSERT_GT(dist_tria.n_active_cells(), 0);",
              "ASSERT_GT(dist_to_serial_mapping.size(), 0);",
              "ASSERT_GT(verified_vertices, 0);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.007,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.MPI_ReadCellDataScalarAndIndexIt",
            "source_line": 282,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "EXPECT_EQ(output_vector.size(), 9);",
              "ASSERT_GT(serial_tria.n_vertices(), 0);",
              "ASSERT_GT(serial_tria.n_active_cells(), 0);",
              "ASSERT_GT(dist_tria.n_active_cells(), 0);",
              "ASSERT_GT(dist_to_serial_mapping.size(), 0);",
              "ASSERT_GT(verified_cells, 0);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.ReadVtkMesh",
            "source_line": 352,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(VTKUtils::read_vtk(vtk_filename, tria));",
              "EXPECT_EQ(tria.n_vertices(), 10);",
              "EXPECT_EQ(tria.n_active_cells(), 9);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.ReadVtkDH",
            "source_line": 364,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "EXPECT_EQ(tria.n_vertices(), 10);",
              "EXPECT_EQ(tria.n_active_cells(), 9);",
              "EXPECT_EQ(dof_handler.n_dofs(), 19);",
              "EXPECT_EQ(data_names.size(), 2);",
              "EXPECT_EQ(data_names[0], \"path_distance\");",
              "EXPECT_EQ(data_names[1], \"edge_length\");",
              "EXPECT_EQ(output_vector.size(), 19);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.ReadVtkWithData",
            "source_line": 386,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "EXPECT_EQ(tria.n_vertices(), 2);",
              "EXPECT_EQ(tria.n_active_cells(), 1);",
              "EXPECT_EQ(dof_handler.n_dofs(), 4);",
              "EXPECT_EQ(data_names.size(), 2);",
              "EXPECT_EQ(data_names[0], \"path_distance\");",
              "EXPECT_EQ(data_names[1], \"radius\");",
              "EXPECT_EQ(output_vector.size(), 4);",
              "EXPECT_GT(output_vector.l2_norm(), 0.0);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.MPI_FillDistributedVectorFromSerial",
            "source_line": 408,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(parallel_vec.size(), serial_vec.size());",
              "ASSERT_DOUBLE_EQ(serial_norm, parallel_norm);",
              "ASSERT_NEAR(error_norm, 0.0, 1e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.006,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.MPI_TransferVTKDataToParallel",
            "source_line": 476,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(parallel_data.size(), serial_data.size());",
              "ASSERT_DOUBLE_EQ(serial_norm, parallel_norm);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.01,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.MPI_RejectsMismatchedCellIds",
            "source_line": 526,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW("
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.MPI_DistributedVerticesToSerialVertices",
            "source_line": 555,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_LT(parallel_vertex.distance(serial_vertex), 1e-10)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_MPI",
                "rank": 0,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.VtkToFiniteElement",
            "source_line": 602,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(data_names[0], \"path_distance\");",
              "EXPECT_EQ(data_names[1], \"edge_length\");",
              "EXPECT_EQ(fe->n_blocks(), 2);",
              "EXPECT_EQ(fe->n_components(), 2);",
              "EXPECT_EQ(fe->n_dofs_per_cell(), 3);",
              "EXPECT_EQ(fe->base_element(0).dofs_per_vertex, 1);",
              "EXPECT_EQ(fe->base_element(1).dofs_per_vertex, 0);",
              "EXPECT_EQ(fe->base_element(0).dofs_per_line, 0);",
              "EXPECT_EQ(fe->base_element(1).dofs_per_line, 1);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.ReadData",
            "source_line": 621,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(actual_data.size(), expected_data.size())",
              "EXPECT_NEAR(actual_data[i], expected_data[i], 1e-9)"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.DataToDealiiVectorAndInterpolate",
            "source_line": 680,
            "action": "keep",
            "reason": "ASCII/XML point/cell data and FE conversion, index mapping and distributed transfer; remove a duplicate end-to-end conversion test.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(",
              "ASSERT_EQ(tria.n_vertices(), 10);",
              "ASSERT_EQ(tria.n_active_cells(), 9);",
              "ASSERT_NO_THROW(VTKUtils::read_data(temp_vtk_filename, raw_data_vector));",
              "ASSERT_EQ(raw_data_vector.size(), 76);",
              "ASSERT_TRUE(fe_system_ptr);",
              "ASSERT_EQ(data_names_from_fe.size(), 4);",
              "EXPECT_EQ(data_names_from_fe[0], \"x\");",
              "EXPECT_EQ(data_names_from_fe[1], \"xyz\");",
              "EXPECT_EQ(data_names_from_fe[2], \"center_x\");",
              "EXPECT_EQ(data_names_from_fe[3], \"center_xyz\");",
              "ASSERT_EQ(fe_system_ptr->n_blocks(), 4);",
              "ASSERT_EQ(fe_system_ptr->n_components(), 8);",
              "ASSERT_EQ(block_indices.total_size(), 8);",
              "ASSERT_EQ(block_indices.size(), 4);",
              "ASSERT_EQ(block_indices.block_size(0), 1);",
              "ASSERT_EQ(block_indices.block_size(1), 3);",
              "ASSERT_EQ(block_indices.block_size(2), 1);",
              "ASSERT_EQ(block_indices.block_size(3), 3);",
              "ASSERT_EQ(dof_handler.n_dofs(), 76);",
              "ASSERT_EQ(dof_handler.n_dofs(), raw_data_vector.size());",
              "ASSERT_NO_THROW(ReducedFieldUtils::data_to_dealii_vector(",
              "ASSERT_NO_THROW(VectorTools::interpolate(",
              "ASSERT_EQ(vector_from_data_to_dealii.size(), interpolated_vector.size());",
              "// Use EXPECT_NEAR for individual checks to see all failures if any",
              "EXPECT_NEAR(vector_from_data_to_dealii(i), interpolated_vector(i), 1e-9);",
              "ASSERT_FALSE(mismatch_found) << \"Vectors do not match.\";"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "VTKUtils.DataFromSimpleVtkToDealiiVectorAndInterpolate",
            "source_line": 787,
            "action": "remove-duplicate",
            "reason": "Identical source fixture, read mesh/data/FE pipeline and exact interpolated-vector comparison; retained test additionally checks block indices.",
            "replacement_cases": [
              "VTKUtils.DataToDealiiVectorAndInterpolate"
            ],
            "direct_oracle_lines": [
              "ASSERT_NO_THROW(VTKUtils::read_vtk(vtk_filename, tria, /*cleanup=*/true));",
              "ASSERT_EQ(tria.n_vertices(), 10);",
              "ASSERT_EQ(tria.n_active_cells(), 9);",
              "ASSERT_NO_THROW(VTKUtils::read_data(vtk_filename, raw_data_vector));",
              "ASSERT_EQ(raw_data_vector.size(), 76);",
              "ASSERT_TRUE(fe_system_ptr);",
              "ASSERT_EQ(data_names_from_fe.size(), 4);",
              "EXPECT_EQ(data_names_from_fe[0], \"x\");",
              "EXPECT_EQ(data_names_from_fe[1], \"xyz\");",
              "EXPECT_EQ(data_names_from_fe[2], \"center_x\");",
              "EXPECT_EQ(data_names_from_fe[3], \"center_xyz\");",
              "ASSERT_EQ(fe_system_ptr->n_blocks(), 4);",
              "ASSERT_EQ(fe_system_ptr->n_components(), 8);",
              "ASSERT_EQ(dof_handler.n_dofs(), 76);",
              "ASSERT_NO_THROW(ReducedFieldUtils::data_to_dealii_vector(",
              "ASSERT_NO_THROW(VectorTools::interpolate(",
              "ASSERT_EQ(vector_from_data_to_dealii.size(), interpolated_vector.size());",
              "EXPECT_NEAR(vector_from_data_to_dealii(i), interpolated_vector(i), 1e-9);",
              "ASSERT_FALSE(mismatch_found) << \"Vectors do not match. See cerr for details.\";"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_unit_Serial",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/weak_term_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "cec10b84abfbf406d2c64b110a523b961317a10d65ef3da6f1fc1ed122261a03",
      "candidate_source_sha256": "cec10b84abfbf406d2c64b110a523b961317a10d65ef3da6f1fc1ed122261a03",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
        "source_lines_before": 2402,
        "source_lines_after": 2402,
        "cases_before": [
          {
            "case": "WeakTerm.ScalarSameDoFHandler",
            "source_line": 236,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(term(builder), target.field_id());",
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "ASSERT_TRUE(matrix.has_value());",
              "EXPECT_LT(action.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.ExplicitCellSupportFiltersMaterialIds",
            "source_line": 279,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(integrated_measure, 0.5, 1.e-12);",
              "EXPECT_LT(chained_residual.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.ExplicitBoundarySupportMatchesBoundaryRegion",
            "source_line": 325,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(region_residual.l2_norm(), 1.e-12);",
              "EXPECT_LT(sugar_residual.l2_norm(), 1.e-12);",
              "EXPECT_LT(region_residual.l2_norm(), 1.e-12);",
              "EXPECT_NEAR(explicit_residual.l1_norm(), 4., 1.e-12);",
              "EXPECT_NEAR(normal.norm(), 1., 1.e-12);",
              "EXPECT_NEAR(tangent.norm(), 1., 1.e-12);",
              "EXPECT_NEAR(normal * tangent, 0., 1.e-12);",
              "EXPECT_TRUE(found_boundary_face);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BoundaryNormalFluxExpressionMatchesVectorTools",
            "source_line": 410,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(immersed_rhs.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.EmbeddedBoundaryConormalExpressionCompiles",
            "source_line": 457,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.NonlinearJacobianReusesCellEvaluation",
            "source_line": 477,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(evaluations,",
              "EXPECT_EQ(mapping.inverse_calls, 0u);",
              "EXPECT_GT(action.l2_norm(), 0.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.NonlinearSquareLawResidualAndJacobian",
            "source_line": 516,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "EXPECT_LT(action.l2_norm(), 1.e-12);",
              "EXPECT_LT(finite_difference.l2_norm(), 1.e-6);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.ActiveAndFrozenObservablesUseTheirOwnFiniteElements",
            "source_line": 617,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(displacement.dependencies(), std::vector<FieldId>{area.field_id()});",
              "EXPECT_NEAR(expression_sum, direct_sum, 1.e-14);",
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "EXPECT_LT(perturbed.l2_norm(), 1.e-6);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.005,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.MultipleNativeSpacesAndFrozenInputUseExplicitSupport",
            "source_line": 742,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(observable.dependencies(),",
              "EXPECT_LT(residual_difference.l2_norm(), 1.e-12);",
              "EXPECT_TRUE(jacobian.has_value());",
              "EXPECT_LT(std::sqrt(difference_squared / native_squared), 1.e-12);",
              "EXPECT_NEAR(action * dual, direction * transpose_action, 1.e-12);",
              "EXPECT_LT(perturbed.l2_norm(), 2.e-6);"
            ],
            "helper_checks": [
              "check_jacobian("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentImmersedSupportAssemblesBackgroundTraceMass",
            "source_line": 990,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(mass.has_value());",
              "ASSERT_TRUE(mass->is_materializable());",
              "ASSERT_EQ(matrix->m(), dof_handler.n_dofs());",
              "ASSERT_EQ(matrix->n(), dof_handler.n_dofs());",
              "EXPECT_NEAR(action * ones, 1.6, 1.e-12);",
              "EXPECT_NEAR(action * ones, transpose_action * ones, 1.e-12);",
              "EXPECT_NEAR(x_coordinate * x_action, 2. * std::pow(0.8, 3) / 3., 1.e-12);",
              "EXPECT_GE(probe * probe_action, -1.e-12);",
              "EXPECT_NEAR(matrix->el(i, j), matrix->el(j, i), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.009,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentImmersedTraceMassRespectsExecutionReindexing",
            "source_line": 1066,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(mass.has_value());",
              "EXPECT_NEAR(x_execution * action, 2. * std::pow(0.8, 3) / 3., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentImmersedSupportAssemblesScaledScalarQ2TraceMass",
            "source_line": 1124,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(mass.has_value());",
              "EXPECT_NEAR(action * ones, 3.2, 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentImmersedSupportHandlesQ2VectorsAndGradients",
            "source_line": 1168,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(matrix.has_value());",
              "ASSERT_TRUE(matrix->is_materializable());",
              "EXPECT_NEAR(action * ones, constant_energy, 1.e-11);",
              "EXPECT_GE(probe * probe_action, -1.e-11);",
              "EXPECT_NEAR(assembled->el(i, j), assembled->el(j, i), 1.e-11);"
            ],
            "helper_checks": [
              "check_symmetric_positive("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.013,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentImmersedSupportPairsDifferentBackgroundSpaces",
            "source_line": 1229,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(matrix.has_value());",
              "ASSERT_TRUE(matrix->is_materializable());",
              "ASSERT_EQ(assembled->m(), test_dof_handler.n_dofs());",
              "ASSERT_EQ(assembled->n(), trial_dof_handler.n_dofs());",
              "EXPECT_NEAR(test_ones * action, 1.6, 1.e-12);",
              "EXPECT_NEAR(test_ones * action, 0., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentImmersedSupportIntegratesRotatedSurfaceIn3D",
            "source_line": 1297,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(matrix.has_value());",
              "EXPECT_NEAR(action * ones, 0.5, 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.007,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentImmersedSupportUpdatesFrozenNonlinearGeometry",
            "source_line": 1345,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(ones * residual, 3.2, 1.e-12);",
              "ASSERT_TRUE(jacobian.has_value());",
              "EXPECT_NEAR(ones * action, 3.2, 1.e-12);",
              "EXPECT_LT(perturbed.l2_norm(), 2.e-6);",
              "EXPECT_NEAR(ones * residual, 1.6, 1.e-12);",
              "ASSERT_TRUE(rebuilt_jacobian.has_value());",
              "EXPECT_NEAR(ones * action, 1.6, 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.009,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.LiftedSupportAssemblesBackgroundTraceMass",
            "source_line": 1431,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(mass.has_value());",
              "ASSERT_TRUE(mass->is_materializable());",
              "EXPECT_NEAR(action * ones, 1., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.012,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.LiftedSupportPreservesFrozenExpressionAndJacobian",
            "source_line": 1484,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(ones * residual, 1., 1.e-12);",
              "ASSERT_TRUE(jacobian.has_value());",
              "EXPECT_NEAR(ones * action, 0.5, 1.e-12);",
              "EXPECT_NEAR(ones * residual, 2., 1.e-12);",
              "ASSERT_TRUE(rebuilt_jacobian.has_value());",
              "EXPECT_NEAR(ones * action, 1., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.024,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.MPI_IndependentDistributedSupportRoutesTracePoints",
            "source_line": 1565,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "ASSERT_TRUE(mass.has_value());",
              "EXPECT_NEAR(ones * action, 1., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.025,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.TypedVectorConvectionResidualJacobian",
            "source_line": 1615,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "EXPECT_LT(action.l2_norm(), 1.e-12);",
              "EXPECT_LT(plus_residual.l2_norm(), 1.e-6);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.008,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.ScalarDifferentDoFHandlersOnOneTriangulation",
            "source_line": 1729,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(residual.l2_norm(), 0.);",
              "ASSERT_TRUE(matrix.has_value());",
              "EXPECT_LT(action.l2_norm(), 1.e-12);",
              "EXPECT_LT(perturbed_residual.l2_norm(), 1.e-6);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.SameDoFHandlerGradientMatchesMatrixCreator",
            "source_line": 1788,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(actual.has_value());",
              "ASSERT_TRUE(actual->is_materializable());",
              "ASSERT_EQ(actual_matrix->m(), reference.m());",
              "ASSERT_EQ(actual_matrix->n(), reference.n());",
              "EXPECT_NEAR(actual_matrix->el(i, j), reference.el(i, j), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.PoissonLaplaceFormUsesTrialAndTestGradient",
            "source_line": 1840,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(actual.has_value());",
              "ASSERT_TRUE(actual->is_materializable());",
              "ASSERT_EQ(actual_matrix->m(), reference.m());",
              "ASSERT_EQ(actual_matrix->n(), reference.n());",
              "EXPECT_NEAR(actual_matrix->el(i, j), reference.el(i, j), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.002,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.SameDoFHandlerVectorGradientUsesScalarProduct",
            "source_line": 1896,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(actual.has_value());",
              "ASSERT_TRUE(actual->is_materializable());",
              "EXPECT_NEAR(actual_matrix->el(i, j), reference.el(i, j), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.SameDoFHandlerSymmetricGradientUsesBothExpressions",
            "source_line": 1961,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(actual.has_value());",
              "ASSERT_TRUE(actual->is_materializable());",
              "EXPECT_NEAR(actual_matrix->el(i, j), reference.el(i, j), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.TestSideDivergenceUsesTypedOperation",
            "source_line": 2028,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(actual.has_value());",
              "ASSERT_TRUE(actual->is_materializable());",
              "EXPECT_NEAR(actual_matrix->el(i, j), reference.el(i, j), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.004,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.ScaledObservableScalesResidualAndJacobian",
            "source_line": 2095,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "ASSERT_TRUE(matrix.has_value());",
              "EXPECT_LT(action.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.FrozenObservableContributesWithoutSourceDependency",
            "source_line": 2137,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(observable.dependencies().empty());",
              "EXPECT_TRUE(observable.is_frozen());",
              "EXPECT_FALSE(observable.source_field().is_valid());",
              "EXPECT_LT(residual.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.VectorPairingHasConsistentTranspose",
            "source_line": 2174,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(matrix.has_value());",
              "EXPECT_NEAR(forward * dual, state * transpose, 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.ScalarGradientPairsWithVectorTestField",
            "source_line": 2214,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(residual.l2_norm(), 0.);",
              "ASSERT_TRUE(matrix.has_value());",
              "EXPECT_LT(action.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.MPI_DistributedSameDoFHandler",
            "source_line": 2260,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "ASSERT_TRUE(matrix.has_value());",
              "EXPECT_LT(action.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.014,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_AutomaticAffineUpdatesOnCellAndBoundarySupport",
            "source_line": 2308,
            "action": "keep",
            "reason": "Distinct FE operations and native MatrixCreator/VectorTools/FEValues oracles, nonlinear finite differences, independent/lifted geometry, semantic reindexing and distributed assembly.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(matrix_operator.has_value());",
              "ASSERT_NE(matrix, nullptr);",
              "EXPECT_NEAR(expected.l1_norm(),",
              "EXPECT_LT(residual.l2_norm(), 1.e-12);",
              "ASSERT_TRUE(updated_operator.has_value());",
              "EXPECT_EQ(updated_matrix->n_nonzero_elements(),",
              "EXPECT_DOUBLE_EQ(updated_matrix->el(i, entry->column()),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.039,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.019,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/weak_term_affine_rejection_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "a7b9d06897230e091b1e25ea0e34354e9491f539eb70d0d82588ef872423b55a",
      "candidate_source_sha256": "a7b9d06897230e091b1e25ea0e34354e9491f539eb70d0d82588ef872423b55a",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Nonmatching affine values from owner-only state and rejection of unsupported multiplier reaction offsets.",
        "source_lines_before": 136,
        "source_lines_after": 136,
        "cases_before": [
          {
            "case": "WeakTermNonmatching.BOTH_NonmatchingAffineOffsetsFollowOwnedValues",
            "source_line": 26,
            "action": "keep",
            "reason": "Nonmatching affine values from owner-only state and rejection of unsupported multiplier reaction offsets.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_NEAR(residual_integral(model), reference_integral(0.), 1.e-12);",
              "EXPECT_NEAR(residual_integral(model), reference_integral(2.), 1.e-12);",
              "EXPECT_NEAR(residual_integral(updated_model), reference_integral(2.), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTermNonmatching",
                "rank": 0,
                "seconds": 0.15,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTermNonmatching",
                "rank": null,
                "seconds": 0.111,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.RejectsUnsupportedAffineMultiplierReaction",
            "source_line": 111,
            "action": "keep",
            "reason": "Nonmatching affine values from owner-only state and rejection of unsupported multiplier reaction offsets.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(weak_term(value(source), test(multiplier))"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/weak_term_affine_support_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "67caddd17bd7efad966fb38ebf4f3b439730b8a5479bdffffb2608fd38b6afa8",
      "candidate_source_sha256": "67caddd17bd7efad966fb38ebf4f3b439730b8a5479bdffffb2608fd38b6afa8",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
        "source_lines_before": 685,
        "source_lines_after": 685,
        "cases_before": [
          {
            "case": "WeakTerm.AffineCellSupportRectangularAndDynamic",
            "source_line": 212,
            "action": "keep",
            "reason": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_affine_model("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.02,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_AffineCellSupportHangingAndAsymmetric",
            "source_line": 262,
            "action": "keep",
            "reason": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(Utilities::MPI::sum(constraints.n_constraints(), MPI_COMM_WORLD),",
              "EXPECT_FALSE(constraints.has_inhomogeneities());",
              "EXPECT_EQ(space.locally_relevant_dofs(), relevant);",
              "EXPECT_EQ(Utilities::MPI::sum(static_cast<unsigned int>("
            ],
            "helper_checks": [
              "check_affine_model("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.119,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.06,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.AffineFrozenAndConstraintCellSupports",
            "source_line": 338,
            "action": "keep",
            "reason": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(observable.dependencies().empty());",
              "EXPECT_GT(expected.l2_norm(), 1.e-5);",
              "EXPECT_LT(expected.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [
              "check_affine_model("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.018,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.AffineFrozenCellAndBoundarySupports",
            "source_line": 399,
            "action": "keep",
            "reason": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_TRUE(observable.dependencies().empty());",
              "EXPECT_GT(expected.l2_norm(), 1.e-5);",
              "EXPECT_LT(expected.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.015,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.AffineConstraintCellAndBoundarySupports",
            "source_line": 458,
            "action": "keep",
            "reason": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_affine_model("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.045,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.AffineBoundarySupportIdsAndDynamic",
            "source_line": 515,
            "action": "keep",
            "reason": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_affine_model("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.049,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.AffineBoundarySupportEmbeddedConormal",
            "source_line": 568,
            "action": "keep",
            "reason": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_affine_model("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.009,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_AffineBoundarySupportHangingAndAsymmetric",
            "source_line": 614,
            "action": "keep",
            "reason": "Affine lifting across cell/boundary/frozen/constraint supports, rectangular operators, hanging nodes and asymmetric distributed ownership.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_GT(Utilities::MPI::sum(constraints.n_constraints(), MPI_COMM_WORLD),",
              "EXPECT_FALSE(constraints.has_inhomogeneities());",
              "EXPECT_EQ(Utilities::MPI::sum(static_cast<unsigned int>("
            ],
            "helper_checks": [
              "check_affine_model("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.165,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.071,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/weak_term_deferred_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "63cdea465d0cda022a2cd3ef64cc7bf31df3e84f9c24584efc6163f3d8bea98a",
      "candidate_source_sha256": "63cdea465d0cda022a2cd3ef64cc7bf31df3e84f9c24584efc6163f3d8bea98a",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Lazy matrix creation and boundary-only affine assembly counters, temporary lifetime, caller sparsity ownership and repeated iterative adapter actions.",
        "source_lines_before": 224,
        "source_lines_after": 224,
        "cases_before": [
          {
            "case": "WeakTerm.BOTH_DeferredBuildAndBoundaryOnlyAffineAssembly",
            "source_line": 24,
            "action": "keep",
            "reason": "Lazy matrix creation and boundary-only affine assembly counters, temporary lifetime, caller sparsity ownership and repeated iterative adapter actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(detail::weak_term_matrix_initializations.load(), before);",
              "ASSERT_TRUE(op.has_value());",
              "EXPECT_EQ(detail::weak_term_matrix_initializations.load(), before);",
              "EXPECT_GT(detail::weak_term_matrix_initializations.load(), before);",
              "EXPECT_EQ(detail::weak_term_matrix_initializations.load(),",
              "EXPECT_EQ(detail::weak_term_affine_cells.load() - cells_before,",
              "EXPECT_GT(rhs->l2_norm(), 0.);",
              "EXPECT_EQ(rhs->l2_norm(), 0.);",
              "EXPECT_EQ(detail::weak_term_matrix_initializations.load(),",
              "EXPECT_LT(actual.l2_norm(), 1.e-12);",
              "EXPECT_LT(actual.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.038,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.024,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.DeferredSumReleasesTemporaryMatrices",
            "source_line": 125,
            "action": "keep",
            "reason": "Lazy matrix creation and boundary-only affine assembly counters, temporary lifetime, caller sparsity ownership and repeated iterative adapter actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_EQ(alive, 0u);",
              "EXPECT_EQ(peak, 1u);",
              "EXPECT_EQ(builds, 6u);",
              "EXPECT_DOUBLE_EQ(sum->el(0, 1), 4.);",
              "EXPECT_DOUBLE_EQ(sum->el(1, 0), 2.);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.SerialDestinationKeepsCallerOwnedSparsity",
            "source_line": 160,
            "action": "keep",
            "reason": "Lazy matrix creation and boundary-only affine assembly counters, temporary lifetime, caller sparsity ownership and repeated iterative adapter actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_TRUE(op.has_value());",
              "EXPECT_EQ(&destination.get_sparsity_pattern(), &sparsity);",
              "EXPECT_NEAR(action.l1_norm(), 3., 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_IterativeAdapterOwnsItsRepeatedMatrixAction",
            "source_line": 198,
            "action": "keep",
            "reason": "Lazy matrix creation and boundary-only affine assembly counters, temporary lifetime, caller sparsity ownership and repeated iterative adapter actions.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_LE(detail::weak_term_matrix_initializations.load() - before, 3u);",
              "EXPECT_NEAR(adapter.field(state, u)[i], 2., 1.e-10);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.009,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.003,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/weak_term_nonmatching_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "4390997ced07764e9005523ac3d5b6ae59d5062e1322bbe1e12f016b933ed5de",
      "candidate_source_sha256": "4390997ced07764e9005523ac3d5b6ae59d5062e1322bbe1e12f016b933ed5de",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Tensor transport, point-search geometry, degree/mapping differences, deal.II NonMatching oracle and distributed transpose/scaling.",
        "source_lines_before": 682,
        "source_lines_after": 682,
        "cases_before": [
          {
            "case": "WeakTermNonmatching.TensorValueTransportRoundTripsAllComponents",
            "source_line": 209,
            "action": "keep",
            "reason": "Tensor transport, point-search geometry, degree/mapping differences, deal.II NonMatching oracle and distributed transpose/scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_transport_roundtrip<SymmetricTensor<2, 2>>(",
              "check_transport_roundtrip<SymmetricTensor<2, 3>>(",
              "check_transport_roundtrip<Tensor<2, 2>>(",
              "check_transport_roundtrip<Tensor<2, 3>>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTermNonmatching",
                "rank": null,
                "seconds": 0.0,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTermNonmatching.NonmatchingScalarDifferentDegrees",
            "source_line": 217,
            "action": "keep",
            "reason": "Tensor transport, point-search geometry, degree/mapping differences, deal.II NonMatching oracle and distributed transpose/scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);"
            ],
            "helper_checks": [
              "check_nonmatching_scalar_pairing("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTermNonmatching",
                "rank": null,
                "seconds": 0.147,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTermNonmatching.NonmatchingScalarGradientUsesPointSearch",
            "source_line": 245,
            "action": "keep",
            "reason": "Tensor transport, point-search geometry, degree/mapping differences, deal.II NonMatching oracle and distributed transpose/scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);",
              "ASSERT_TRUE(actual.has_value());",
              "ASSERT_TRUE(actual->is_materializable());",
              "ASSERT_NE(source_cell_and_reference.first,",
              "ASSERT_EQ(actual_matrix->m(), reference.m());",
              "ASSERT_EQ(actual_matrix->n(), reference.n());",
              "EXPECT_NEAR(actual_matrix->el(i, j), reference.el(i, j), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTermNonmatching",
                "rank": null,
                "seconds": 0.082,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTermNonmatching.EmbeddedSupportMatchesDealIINonMatchingCoupling",
            "source_line": 345,
            "action": "keep",
            "reason": "Tensor transport, point-search geometry, degree/mapping differences, deal.II NonMatching oracle and distributed transpose/scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);",
              "ASSERT_TRUE(reverse_matrix.has_value());",
              "ASSERT_EQ(reverse_native->m(), native_matrix.n());",
              "ASSERT_EQ(reverse_native->n(), native_matrix.m());",
              "EXPECT_NEAR(reverse_native->el(i, j), native_matrix.el(j, i), 1.e-12);",
              "ASSERT_TRUE(forward_matrix.has_value());",
              "ASSERT_EQ(forward_native->m(), native_matrix.m());",
              "ASSERT_EQ(forward_native->n(), native_matrix.n());",
              "EXPECT_NEAR(forward_native->el(i, j), native_matrix.el(i, j), 1.e-12);",
              "ASSERT_TRUE(vector_reverse_matrix.has_value());",
              "EXPECT_NEAR(vector_reverse_matrix->matrix()->el(i, j),",
              "ASSERT_TRUE(vector_forward_matrix.has_value());",
              "EXPECT_NEAR(vector_forward_matrix->matrix()->el(i, j),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTermNonmatching",
                "rank": null,
                "seconds": 2.806,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTermNonmatching.MPI_NonmatchingPartitionAndTranspose",
            "source_line": 555,
            "action": "keep",
            "reason": "Tensor transport, point-search geometry, degree/mapping differences, deal.II NonMatching oracle and distributed transpose/scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);"
            ],
            "helper_checks": [
              "check_nonmatching_scalar_pairing("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTermNonmatching",
                "rank": 0,
                "seconds": 0.283,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTermNonmatching.MPI_ScaledPairing",
            "source_line": 575,
            "action": "keep",
            "reason": "Tensor transport, point-search geometry, degree/mapping differences, deal.II NonMatching oracle and distributed transpose/scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);",
              "EXPECT_LT(scaled_residual.l2_norm(), 1.e-12);",
              "ASSERT_TRUE(base_matrix.has_value());",
              "ASSERT_TRUE(scaled_matrix.has_value());",
              "EXPECT_LT(scaled_action.l2_norm(), 1.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTermNonmatching",
                "rank": 0,
                "seconds": 0.279,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTermNonmatching.NonmatchingVectorPairing",
            "source_line": 662,
            "action": "keep",
            "reason": "Tensor transport, point-search geometry, degree/mapping differences, deal.II NonMatching oracle and distributed transpose/scaling.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 1u);"
            ],
            "helper_checks": [
              "check_nonmatching_vector_pairing("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTermNonmatching",
                "rank": null,
                "seconds": 0.106,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/weak_term_owned_state_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "247faafbe993837ac7cef94d0e435c6a5b5b34c41ae642e13ee9120cb1402529",
      "candidate_source_sha256": "247faafbe993837ac7cef94d0e435c6a5b5b34c41ae642e13ee9120cb1402529",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Nonlinear owned-state essential values with simplex and empty-rank ownership; distinct from unconstrained rectangular background tests.",
        "source_lines_before": 100,
        "source_lines_after": 100,
        "cases_before": [
          {
            "case": "WeakTerm.BOTH_ConstrainedNonlinearOwnedState",
            "source_line": 92,
            "action": "keep",
            "reason": "Nonlinear owned-state essential values with simplex and empty-rank ownership; distinct from unconstrained rectangular background tests.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_owned_nonlinear("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.012,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.006,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.MPI_ConstrainedNonlinearWithEmptyRank",
            "source_line": 96,
            "action": "keep",
            "reason": "Nonlinear owned-state essential values with simplex and empty-rank ownership; distinct from unconstrained rectangular background tests.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_EQ(Utilities::MPI::n_mpi_processes(MPI_COMM_WORLD), 2u);"
            ],
            "helper_checks": [
              "check_owned_nonlinear("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.01,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/weak_term_support_oracles_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "c036c2c1cc674e770e956e74bdffa29d8b605ad6d83e8358ac69ed3ac29c78d5",
      "candidate_source_sha256": "7293727fde9969d86fee7d4c92a508ec412b19797b07f106bb21d619407cc577",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "Independent boundary MatrixCreator and fitted one-dimensional piecewise-trace mass oracles, plus mismatched geometry rejection; remove a nine-level convergence sweep.",
        "source_lines_before": 302,
        "source_lines_after": 284,
        "cases_before": [
          {
            "case": "WeakTerm.BoundaryMassMatchesMatrixCreator",
            "source_line": 35,
            "action": "keep",
            "reason": "Independent boundary MatrixCreator and fitted one-dimensional piecewise-trace mass oracles, plus mismatched geometry rejection; remove a nine-level convergence sweep.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "ASSERT_GT(constraints.n_constraints(), 0u);",
              "ASSERT_TRUE(op.has_value());",
              "ASSERT_NE(matrix, nullptr);",
              "EXPECT_NEAR(actual[i], expected[i], 2.e-13);",
              "EXPECT_LT(actual.l2_norm(), 2.e-12);",
              "EXPECT_LT(actual.l2_norm(), 2.e-12);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.142,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentSupportConvergesForPiecewiseFETrace",
            "source_line": 155,
            "action": "replace-convergence-sweep",
            "reason": "Four support segments fitted to slope jumps replace nine levels ending at256 segments; the independent MatrixCreator mass-energy oracle is retained with an exact1e-12 comparison.",
            "replacement_cases": [
              "WeakTerm.IndependentSupportMatchesPiecewiseFETrace"
            ],
            "direct_oracle_lines": [
              "ASSERT_TRUE(op.has_value());",
              "EXPECT_GT(errors.front(), 1.e-3);",
              "EXPECT_LT(errors.back(), 1.e-5);",
              "EXPECT_LT(errors.back(), errors.front() / 1000.);",
              "EXPECT_LT(*std::max_element(errors.begin() + 6, errors.end()),"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.052,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.IndependentSupportRejectsDifferentBackgroundsAndMappings",
            "source_line": 258,
            "action": "keep",
            "reason": "Independent boundary MatrixCreator and fitted one-dimensional piecewise-trace mass oracles, plus mismatched geometry rejection; remove a nine-level convergence sweep.",
            "replacement_cases": [],
            "direct_oracle_lines": [
              "EXPECT_THROW(assemble(), ExceptionBase);"
            ],
            "helper_checks": [],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.001,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": [
          "WeakTerm.IndependentSupportMatchesPiecewiseFETrace"
        ]
      }
    },
    {
      "path": "gtests/weak_term_support_review_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "9addbdc50a12e8124745be0b5ef82860550a3c51dcf89286d69ec4811000ad9d",
      "candidate_source_sha256": "1dfa3f681c3d3e14754380360669521ca0f93750082bad3bcf905c712aaebbe9",
      "candidate_file_present": true,
      "source_changed": true,
      "review": {
        "purpose": "One combined volume/independent/physical-support derivative regression per scalar/vector/backend, retaining MatrixCreator and finite-difference/adjoint oracles.",
        "source_lines_before": 397,
        "source_lines_after": 370,
        "cases_before": [
          {
            "case": "WeakTerm.NonlinearOwnedScalarStorageSerial",
            "source_line": 335,
            "action": "remove-duplicate",
            "reason": "The retained helper executes the same volume, native MatrixCreator, transpose and finite-difference checks before its additional independent supports, on the same serial Vector/SparseMatrix backend.",
            "replacement_cases": [
              "WeakTerm.NonlinearSupportJacobiansSerialScalar"
            ],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_nonlinear_owned_storage<1, Vector<double>, SparseMatrix<double>>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.NonlinearOwnedVectorStorageSerial",
            "source_line": 340,
            "action": "remove-duplicate",
            "reason": "Same vector/serial backend and all volume/native/transpose/finite-difference oracles are retained in the combined helper.",
            "replacement_cases": [
              "WeakTerm.NonlinearSupportJacobiansSerialVector"
            ],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_nonlinear_owned_storage<2, Vector<double>, SparseMatrix<double>>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.023,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_NonlinearOwnedScalarStorage",
            "source_line": 345,
            "action": "remove-duplicate",
            "reason": "The retained combined helper uses the same scalar distributed backend, executes in serial and MPI and first repeats all volume/native/transpose/finite-difference checks.",
            "replacement_cases": [
              "WeakTerm.BOTH_NonlinearSupportJacobiansAcrossPartitions"
            ],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_nonlinear_owned_storage<1,\n                                ImmersXLA::MPI::Vector,\n                                ImmersXLA::MPI::SparseMatrix>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.028,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.016,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_NonlinearOwnedVectorStorage",
            "source_line": 352,
            "action": "remove-duplicate",
            "reason": "The retained combined helper preserves vector distributed backend in serial/MPI and all volume/native/transpose/finite-difference checks.",
            "replacement_cases": [
              "WeakTerm.BOTH_NonlinearVectorSupportJacobiansAcrossPartitions"
            ],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_nonlinear_owned_storage<2,\n                                ImmersXLA::MPI::Vector,\n                                ImmersXLA::MPI::SparseMatrix>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.031,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.023,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.NonlinearSupportJacobiansSerialScalar",
            "source_line": 359,
            "action": "consolidate-and-reduce-fixture",
            "reason": "Combined helper retains all scalar/vector/backend-specific native, transpose and finite-difference checks; background4cells, support4segments and8physical points replace16cells/16segments/64points.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_nonlinear_owned_storage<1, Vector<double>, SparseMatrix<double>>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.068,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.NonlinearSupportJacobiansSerialVector",
            "source_line": 364,
            "action": "consolidate-and-reduce-fixture",
            "reason": "Combined helper retains all scalar/vector/backend-specific native, transpose and finite-difference checks; background4cells, support4segments and8physical points replace16cells/16segments/64points.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_nonlinear_owned_storage<2, Vector<double>, SparseMatrix<double>>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.083,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_NonlinearSupportJacobiansAcrossPartitions",
            "source_line": 369,
            "action": "consolidate-and-reduce-fixture",
            "reason": "Combined helper retains all scalar/vector/backend-specific native, transpose and finite-difference checks; background4cells, support4segments and8physical points replace16cells/16segments/64points.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_nonlinear_owned_storage<1,\n                                ImmersXLA::MPI::Vector,\n                                ImmersXLA::MPI::SparseMatrix>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.082,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.067,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_NonlinearVectorSupportJacobiansAcrossPartitions",
            "source_line": 376,
            "action": "consolidate-and-reduce-fixture",
            "reason": "Combined helper retains all scalar/vector/backend-specific native, transpose and finite-difference checks; background4cells, support4segments and8physical points replace16cells/16segments/64points.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_nonlinear_owned_storage<2,\n                                ImmersXLA::MPI::Vector,\n                                ImmersXLA::MPI::SparseMatrix>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.09,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.083,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.FrozenInputOnDifferentMeshOrMappingIsRejected",
            "source_line": 383,
            "action": "keep",
            "reason": "One combined volume/independent/physical-support derivative regression per scalar/vector/backend, retaining MatrixCreator and finite-difference/adjoint oracles.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_frozen_background_rejection<1, Vector<double>, SparseMatrix<double>>(",
              "check_frozen_background_rejection<2, Vector<double>, SparseMatrix<double>>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.046,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTerm.BOTH_FrozenInputOnDifferentMeshOrMappingIsRejected",
            "source_line": 389,
            "action": "keep",
            "reason": "One combined volume/independent/physical-support derivative regression per scalar/vector/backend, retaining MatrixCreator and finite-difference/adjoint oracles.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_frozen_background_rejection<1,\n                                    ImmersXLA::MPI::Vector,\n                                    ImmersXLA::MPI::SparseMatrix>(",
              "check_frozen_background_rejection<2,\n                                    ImmersXLA::MPI::Vector,\n                                    ImmersXLA::MPI::SparseMatrix>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_MPI_WeakTerm",
                "rank": 0,
                "seconds": 0.093,
                "status": "passed"
              },
              {
                "group": "ImmersX_integration_Serial_WeakTerm",
                "rank": null,
                "seconds": 0.048,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    },
    {
      "path": "gtests/weak_term_vector_coupling_01.cc",
      "review_category": "core",
      "baseline_source_sha256": "90e17c74456f18d8d1e0085c5457b4460b8516c35034a494c71677963c069b0f",
      "candidate_source_sha256": "90e17c74456f18d8d1e0085c5457b4460b8516c35034a494c71677963c069b0f",
      "candidate_file_present": true,
      "source_changed": false,
      "review": {
        "purpose": "Native nonmatching vector coupling in all supported ambient dimensions and hanging-node transfer.",
        "source_lines_before": 176,
        "source_lines_after": 176,
        "cases_before": [
          {
            "case": "WeakTermNonmatching.NativeVectorCouplingPreservesAmbientComponents",
            "source_line": 163,
            "action": "keep",
            "reason": "Native nonmatching vector coupling in all supported ambient dimensions and hanging-node transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_vector_coupling<1, 1>(",
              "check_vector_coupling<1, 2>(",
              "check_vector_coupling<1, 3>(",
              "check_vector_coupling<2, 3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTermNonmatching",
                "rank": null,
                "seconds": 0.049,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          },
          {
            "case": "WeakTermNonmatching.NativeVectorCouplingWithHangingNodes",
            "source_line": 171,
            "action": "keep",
            "reason": "Native nonmatching vector coupling in all supported ambient dimensions and hanging-node transfer.",
            "replacement_cases": [],
            "direct_oracle_lines": [],
            "helper_checks": [
              "check_vector_coupling<1, 2>(",
              "check_vector_coupling<1, 3>(",
              "check_vector_coupling<2, 3>("
            ],
            "baseline_ci_observations": [
              {
                "group": "ImmersX_integration_Serial_WeakTermNonmatching",
                "rank": null,
                "seconds": 0.192,
                "status": "passed"
              }
            ],
            "observed_in_quick_ci": true
          }
        ],
        "new_case_names": []
      }
    }
  ],
  "infrastructure_review": {
    "driver": {
      "path": "gtests/gtest_main.cc",
      "baseline_source_sha256": "29e7318436f38335287735e98d2432d4b5c137a9cfff19f3ef4f5aea3fc4e30d",
      "candidate_source_sha256": "e02cf03193d2f774717670efad9dff03bea941b2f02dd18cfafee08d529d069c",
      "scope": "Separate infrastructure review, not one of the 115 numerical source-file records.",
      "behavior": "A GTest listener arms a 120-second wall-time budget on each rank for every test case and disarms it when the case ends. The test-only watchdog uses a thread, condition variable and mutex, not a signal alarm. Application launchers register only their owned process group with the same mutex used for reaping; on deadline the watchdog kills that group and exits with failure, so surviving child pipe holders cannot hang CTest. It never targets the enclosing GoogleTest/MPI process group. Test discovery bypasses MPI and the watchdog, as before.",
      "preserved": "Existing serial/MPI/BOTH_ selection and rank-zero-only XML policy are retained.",
      "helper_header": {
        "path": "gtests/test_watchdog.h",
        "candidate_source_sha256": "db1a0a2f84a09941b81d807ef5c3dba71c687db6dbcbfbb6a604b3b7206fedf5"
      },
      "smoke_validation": {
        "artifact": "local-artifacts/audit/watchdog-owned-child/validation.json",
        "sha256": "44582f1639444ef6cb4c7948cdbc354ca6adfa632166ec6cafca4f81a417a01f",
        "source_matches": {
          "driver": true,
          "header": true,
          "app_executables_launcher": true,
          "poisson_elastic_static_launcher": true
        },
        "source_artifacts": {
          "normal_120_second_header": {
            "path": "local-artifacts/audit/watchdog-owned-child/test_watchdog.h",
            "sha256": "db1a0a2f84a09941b81d807ef5c3dba71c687db6dbcbfbb6a604b3b7206fedf5"
          },
          "tested_1_second_header": {
            "path": "local-artifacts/audit/watchdog-owned-child/source/test_watchdog.h",
            "sha256": "a8646093d058ac731e01080121703bc96bd7c1677867de1cd8bfadd3781d27b9"
          },
          "tested_driver": {
            "path": "local-artifacts/audit/watchdog-owned-child/source/gtest_main.cc",
            "sha256": "e02cf03193d2f774717670efad9dff03bea941b2f02dd18cfafee08d529d069c"
          },
          "app_executables_launcher": {
            "path": "local-artifacts/audit/watchdog-owned-child/app_executables_test.cc",
            "sha256": "577ef34be27f5864cb987ddfe1d0e9823f2bd24b543e5aa835c40cf00da0dd13"
          },
          "poisson_elastic_static_launcher": {
            "path": "local-artifacts/audit/watchdog-owned-child/poisson_elastic_static_execution_01.cc",
            "sha256": "c4240978a9f1fa702e9f6e8617ab8939174df032f3f7e6d586a834e982d44d3e"
          },
          "tested_smoke_source": {
            "path": "local-artifacts/audit/watchdog-owned-child/source/smoke.cc",
            "sha256": "db3032054405aa8aef69c3e02822987b8c29ee583d7b97bd07c8e69c37f6a227"
          }
        },
        "method": "The exact shared watchdog helper is compiled with only std::chrono::seconds(120) changed to seconds(1) in a scratch header. The driver source is unchanged. Header, driver and both launcher source hashes are verified against the integrated sources. This tests deadline failure paths quickly rather than measuring a real 120-second wait.",
        "cases": [
          {
            "name": "serial",
            "returncode": 1,
            "elapsed_seconds": 1.9683933705091476
          },
          {
            "name": "mpi_rank_one",
            "returncode": 1,
            "elapsed_seconds": 2.568456383422017
          },
          {
            "name": "per_case_reset",
            "returncode": 0,
            "elapsed_seconds": 2.2325102891772985
          },
          {
            "name": "owned_child",
            "returncode": 1,
            "elapsed_seconds": 1.9302185326814651,
            "descendants_after_timeout": {
              "shell.pid": {
                "pid": 1728498,
                "state": "gone"
              },
              "sleep.pid": {
                "pid": 1728499,
                "state": "gone"
              }
            }
          },
          {
            "name": "owned_exit_status",
            "returncode": 0,
            "elapsed_seconds": 1.0914504248648882
          }
        ],
        "scope": "Launchers use the exact shared helper exercised by the smoke; launcher translation units were not compiled by this isolated harness."
      },
      "historical_reporter_diagnostic_smoke": {
        "artifact": "local-artifacts/audit/watchdog-smoke/validation.json",
        "sha256": "577fc95a1452b6bfc669249541ec38ebdcf835e88e96d8ff3b35f05463c1eca0",
        "superseded_driver_sha256": "eb97ee03f5ba406da7b95802c798056eddabf84b0be071512d88edf2f1d56894",
        "applies_to_current_watchdog_implementation": false,
        "scope": "This older signal-alarm producer verified the timeout diagnostic format and the reporter's preservation of a timeout alongside rank-zero passing XML. It is retained as separate reporter provenance, not evidence that the current watchdog driver matches the old source.",
        "end_to_end_reporter_returncode": 1,
        "end_to_end_reporter_statuses": [
          "timed_out",
          "passed"
        ]
      }
    },
    "timing_reporter": {
      "path": "scripts/ci/report_timings.py",
      "candidate_source_sha256": "dc74fe318ba0f30940a85df321adc5cd8b7a1243a1dacaac4403a0762fe9ea4b",
      "changes": "Preserve watchdog failures even if rank zero wrote passing XML; reject completed over-budget cases; export latest Ninja command timings without double-counting multi-output commands or summing overlapping elapsed times."
    },
    "workflow": {
      "path": ".github/workflows/tests.yml",
      "candidate_source_sha256": "7d5f6816b34d7dbd0a7953e3b7b1ea7aacd4667b65436554836d86362f0dff90",
      "changes": "Increase the Debug ccache limit from 1 GB to 4 GB, cap OpenMP/BLAS threads at one, retain Ninja timing logs and explicitly disable the optional prebuilt FVM-linked driver path in ordinary numerical CI.",
      "coverage_limit": "The optional FVM-linked runtime path is outside ordinary numerical CI after this change. Compile-only optional-client interface checks remain; this does not replace runtime integration with that external library.",
      "compiler_workers": 2,
      "job_deadlines_minutes": {
        "Debug": 120,
        "Release": 90
      },
      "memory_evidence": "A representative GNU 11.4 Debug translation unit reached 5.39 GiB peak RSS in a diagnostic compiler probe. This does not establish the cause of the historical hosted-runner shutdown.",
      "candidate_sha256": "de73c4ba3a267553afc8a3fa8a32f854c8709fe58da755cca90edeb64b1dcaa5",
      "tooling_tests": {
        "unique_tests_passed": 43,
        "initial_run": {
          "tests": 43,
          "passed": 42,
          "skipped": 1
        },
        "discovery_followup": {
          "tests": 1,
          "passed": 1,
          "skipped": 0,
          "environment": "CMake and CTest from the verified tool directory; Ninja generator."
        },
        "actionlint": {
          "version": "1.7.12",
          "exit_status": 0
        }
      }
    },
    "test_categories": {
      "path": "gtests/test_categories.cmake",
      "candidate_source_sha256": "70477ef43752d63d689bdcf51c68e800ee062612935f4fbda0931355deaae472",
      "changes": "Remove registry entries only for deleted obsolete/duplicate-only suites. Move ReducedPoisson from application to integration because the replacement cases now assert native AL/Schur numerical parity in serial and MPI."
    },
    "unchanged_execution_policy": "Debug assertions and optimization settings remain unchanged. No fine-grained C++ selection or cross-job test sharding is claimed. GoogleTest groups retain their shared output lock pending complete output isolation."
  },
  "local_baseline_profiles": [
    {
      "artifact": "local-artifacts/audit/baseline-debug-serial.json",
      "sha256": "257d7f2015bb620a1c0cb20ba3b9dfa3ff763d0a7b8dee669cf458e01396039c",
      "variant": "Debug",
      "ranks": 1,
      "scope": "non-application",
      "case_records": 576,
      "distinct_case_names": 576,
      "recorded_statuses": {
        "over_budget": 4,
        "passed": 572
      },
      "nonpassing_case_records": [
        {
          "test": "ElasticityValidation.BOTH_PaperAxisSymmetricGlobalConvergence",
          "seconds": 120,
          "status": "over_budget"
        },
        {
          "test": "ElasticityValidation.BOTH_PaperHigherOrderModes",
          "seconds": 120,
          "status": "over_budget"
        },
        {
          "test": "ElasticityTensorProductCouplingValidation.ExactSolution",
          "seconds": 120,
          "status": "over_budget"
        },
        {
          "test": "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing",
          "seconds": 120,
          "status": "over_budget"
        }
      ],
      "recorded_case_seconds_sum": 1503.885,
      "max_recorded_case_seconds": 120,
      "attempts": [
        {
          "returncode": -9,
          "active_failure": "ElasticityValidation.BOTH_PaperAxisSymmetricGlobalConvergence",
          "timed_out": true
        },
        {
          "returncode": -9,
          "active_failure": "ElasticityValidation.BOTH_PaperHigherOrderModes",
          "timed_out": true
        },
        {
          "returncode": -9,
          "active_failure": "ElasticityTensorProductCouplingValidation.ExactSolution",
          "timed_out": true
        },
        {
          "returncode": -9,
          "active_failure": "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing",
          "timed_out": true
        },
        {
          "returncode": 0,
          "active_failure": null,
          "timed_out": false
        }
      ],
      "timed_out_attempts": 4,
      "interrupted_or_failed_attempts": [
        {
          "returncode": -9,
          "active_failure": "ElasticityValidation.BOTH_PaperAxisSymmetricGlobalConvergence",
          "timed_out": true
        },
        {
          "returncode": -9,
          "active_failure": "ElasticityValidation.BOTH_PaperHigherOrderModes",
          "timed_out": true
        },
        {
          "returncode": -9,
          "active_failure": "ElasticityTensorProductCouplingValidation.ExactSolution",
          "timed_out": true
        },
        {
          "returncode": -9,
          "active_failure": "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing",
          "timed_out": true
        }
      ],
      "interpretation": "Completed case records are retained, but one or more profiling attempts were interrupted or failed. This is not an uninterrupted passing full-suite run."
    },
    {
      "artifact": "local-artifacts/audit/baseline-debug-mpi.json",
      "sha256": "873f623d959409685c108280bde576697aeb8d8563815bc3acfeb8caef1bfdd3",
      "variant": "Debug",
      "ranks": 2,
      "scope": "non-application",
      "case_records": 304,
      "distinct_case_names": 304,
      "recorded_statuses": {
        "over_budget": 1,
        "passed": 303
      },
      "nonpassing_case_records": [
        {
          "test": "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing",
          "seconds": 120,
          "status": "over_budget"
        }
      ],
      "recorded_case_seconds_sum": 1242.533,
      "max_recorded_case_seconds": 120,
      "attempts": [
        {
          "returncode": -9,
          "active_failure": "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing",
          "timed_out": true
        },
        {
          "returncode": 0,
          "active_failure": null,
          "timed_out": false
        }
      ],
      "timed_out_attempts": 1,
      "interrupted_or_failed_attempts": [
        {
          "returncode": -9,
          "active_failure": "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing",
          "timed_out": true
        }
      ],
      "interpretation": "Completed case records are retained, but one or more profiling attempts were interrupted or failed. This is not an uninterrupted passing full-suite run."
    },
    {
      "artifact": "local-artifacts/audit/baseline-debug-app-serial.json",
      "sha256": "88429aef176e80afe335e363a0a4a6275423028796ff9bfe6fd6ab1fcf399cb6",
      "variant": "Debug",
      "ranks": 1,
      "scope": "application",
      "case_records": 40,
      "distinct_case_names": 40,
      "recorded_statuses": {
        "passed": 38,
        "skipped": 2
      },
      "nonpassing_case_records": [
        {
          "test": "AppExecutables.CoupledElasticity",
          "seconds": 0.0,
          "status": "skipped"
        },
        {
          "test": "AppExecutables.PseudoCoupling1D",
          "seconds": 0.0,
          "status": "skipped"
        }
      ],
      "recorded_case_seconds_sum": 221.624,
      "max_recorded_case_seconds": 66.629,
      "attempts": [
        {
          "returncode": 0,
          "active_failure": null,
          "timed_out": false
        }
      ],
      "timed_out_attempts": 0,
      "interrupted_or_failed_attempts": [],
      "interpretation": "All recorded process attempts exited successfully; scope is limited to this profile."
    },
    {
      "artifact": "local-artifacts/audit/baseline-debug-app-mpi.json",
      "sha256": "2fd308c3ce9a144e375930298a433692aba3de2fce95a1c8cac56d21d9bba323",
      "variant": "Debug",
      "ranks": 2,
      "scope": "application",
      "case_records": 13,
      "distinct_case_names": 13,
      "recorded_statuses": {
        "passed": 13
      },
      "nonpassing_case_records": [],
      "recorded_case_seconds_sum": 13.232,
      "max_recorded_case_seconds": 3.923,
      "attempts": [
        {
          "returncode": 0,
          "active_failure": null,
          "timed_out": false
        }
      ],
      "timed_out_attempts": 0,
      "interrupted_or_failed_attempts": [],
      "interpretation": "All recorded process attempts exited successfully; scope is limited to this profile."
    },
    {
      "artifact": "local-artifacts/audit/baseline-release-rank1.json",
      "sha256": "b19c57be9f955970b636945a32b03279eda2175208e32bf68bb38b7391b53986",
      "variant": "Release",
      "ranks": 1,
      "scope": "all",
      "case_records": 615,
      "distinct_case_names": 615,
      "recorded_statuses": {
        "failed": 2,
        "passed": 611,
        "skipped": 2
      },
      "nonpassing_case_records": [
        {
          "test": "AppExecutables.CoupledElasticity",
          "seconds": 0.0,
          "status": "skipped"
        },
        {
          "test": "AppExecutables.PseudoCoupling1D",
          "seconds": 0.0,
          "status": "skipped"
        },
        {
          "test": "LiftedPoisson.BOTH_LegacyNetworkParity",
          "seconds": 3.562,
          "status": "failed"
        },
        {
          "test": "LiftedPoisson.BOTH_LegacyImmersedPartitionParity",
          "seconds": 3.577,
          "status": "failed"
        }
      ],
      "recorded_case_seconds_sum": 359.231,
      "max_recorded_case_seconds": 45.243,
      "attempts": [
        {
          "returncode": 1,
          "active_failure": null,
          "timed_out": false
        }
      ],
      "timed_out_attempts": 0,
      "interrupted_or_failed_attempts": [
        {
          "returncode": 1,
          "active_failure": null,
          "timed_out": false
        }
      ],
      "interpretation": "Completed case records are retained, but one or more profiling attempts were interrupted or failed. This is not an uninterrupted passing full-suite run."
    },
    {
      "artifact": "local-artifacts/audit/baseline-release-rank2.json",
      "sha256": "8e07fcc8308d0407d8e3637a59d622dbdbc6f2bed9f2cdb52285ef5ed622a75d",
      "variant": "Release",
      "ranks": 2,
      "scope": "all",
      "case_records": 317,
      "distinct_case_names": 317,
      "recorded_statuses": {
        "passed": 317
      },
      "nonpassing_case_records": [],
      "recorded_case_seconds_sum": 253.927,
      "max_recorded_case_seconds": 52.042,
      "attempts": [
        {
          "returncode": 0,
          "active_failure": null,
          "timed_out": false
        }
      ],
      "timed_out_attempts": 0,
      "interrupted_or_failed_attempts": [],
      "interpretation": "All recorded process attempts exited successfully; scope is limited to this profile."
    }
  ],
  "measurement_status": {
    "local_integrated_matrix": "passed",
    "local_case_budget": "All 1,829 executions passed; maximum recorded duration 28.529 s; no timeout on any rank.",
    "hosted_candidate_ci": "not yet measured; do not infer a GitHub Actions speedup from local observations"
  },
  "input_artifacts": {
    "analysis.json": "478458206a7b3aca6aab83b14c029c0480c25cb489c3cac6959464ff06f59184",
    "audit/core-review.json": "034d52ef4ca57c1051d9407c2ae0f63ae71afdb2f0ee019edfcbb403840cdca0",
    "audit/physics-review.json": "c6cb40d038c112920410e251ad73cf0fe86bb6f74962a93b6a1309bee8781fa3",
    "audit/fixtures-review.json": "22672097ee9f0e42f8d951d0514e3f08bedbfc07fdc0bc9a27db6d17bce0b086",
    "audit/baseline-debug-serial.json": "257d7f2015bb620a1c0cb20ba3b9dfa3ff763d0a7b8dee669cf458e01396039c",
    "audit/baseline-debug-mpi.json": "873f623d959409685c108280bde576697aeb8d8563815bc3acfeb8caef1bfdd3",
    "audit/baseline-debug-app-serial.json": "88429aef176e80afe335e363a0a4a6275423028796ff9bfe6fd6ab1fcf399cb6",
    "audit/baseline-debug-app-mpi.json": "2fd308c3ce9a144e375930298a433692aba3de2fce95a1c8cac56d21d9bba323",
    "audit/baseline-release-rank1.json": "b19c57be9f955970b636945a32b03279eda2175208e32bf68bb38b7391b53986",
    "audit/baseline-release-rank2.json": "8e07fcc8308d0407d8e3637a59d622dbdbc6f2bed9f2cdb52285ef5ed622a75d",
    "audit/watchdog-smoke/validation.json": "577fc95a1452b6bfc669249541ec38ebdcf835e88e96d8ff3b35f05463c1eca0",
    "audit/watchdog-owned-child/validation.json": "44582f1639444ef6cb4c7948cdbc354ca6adfa632166ec6cafca4f81a417a01f"
  },
  "compiled_inventory_scope": {
    "baseline_ordinary_google_test_translation_units": 115,
    "baseline_numerical_sources_in_ordinary_target": 114,
    "common_driver_translation_units": 1,
    "reviewed_optional_source_not_in_ordinary_target": "gtests/metric_flow_x_01.cc",
    "explanation": "The 115-file numerical review inventory includes the optional MetricFlowX test source and excludes the common driver. The ordinary CI target instead includes the driver and excludes that optional source. The driver is reviewed separately. Local integration deliberately disables MetricFlowX discovery and its package matrix."
  },
  "integrated_validation": {
    "source_revision": "7438d9539d8c34c1d8273d80c534a078bf7bb82f",
    "node": "gpu02",
    "configuration": {
      "compiler": "GNU 11.4",
      "deal_ii": "9.8",
      "build_type": "DebugRelease",
      "linear_algebra": "Trilinos",
      "mpi_ranks": [
        1,
        2
      ],
      "omp_openblas_mkl_threads": 1
    },
    "ctest_groups": 164,
    "ctest_failures": 0,
    "ctest_wall_seconds": 1493.7,
    "google_test_case_executions": 1829,
    "all_candidate_cases_passed": true,
    "timing_reporter_exit_status": 0,
    "case_observations_file": "gtest-runtime-2026-11-02.jsonl",
    "case_observations_sha256": "a56b4cb810ca45724ff2ba2948ff631799d412728adebfb890864b40ce43d1b9",
    "junit_sha256": "2ad689543c34ffbb49dd8f815930be65a5b3819607e19e1b3d64f623c415d216",
    "summaries": [
      {
        "revision": "baseline",
        "variant": "Debug",
        "ranks": 1,
        "executions": 616,
        "statuses": {
          "passed": 610,
          "skipped": 2,
          "over_budget": 4
        },
        "summed_case_seconds": 1725.509,
        "maximum": {
          "lower_bound": true,
          "observation": "rank-zero GoogleTest console; process exit includes all ranks",
          "ranks": 1,
          "revision": "baseline",
          "seconds": 120,
          "status": "over_budget",
          "test": "ElasticityValidation.BOTH_PaperAxisSymmetricGlobalConvergence",
          "variant": "Debug"
        },
        "has_censored_lower_bounds": true
      },
      {
        "revision": "baseline",
        "variant": "Debug",
        "ranks": 2,
        "executions": 317,
        "statuses": {
          "passed": 316,
          "over_budget": 1
        },
        "summed_case_seconds": 1255.765,
        "maximum": {
          "lower_bound": true,
          "observation": "rank-zero GoogleTest console; process exit includes all ranks",
          "ranks": 2,
          "revision": "baseline",
          "seconds": 120,
          "status": "over_budget",
          "test": "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing",
          "variant": "Debug"
        },
        "has_censored_lower_bounds": true
      },
      {
        "revision": "baseline",
        "variant": "Release",
        "ranks": 1,
        "executions": 615,
        "statuses": {
          "passed": 611,
          "skipped": 2,
          "failed": 2
        },
        "summed_case_seconds": 359.231,
        "maximum": {
          "lower_bound": false,
          "observation": "rank-zero GoogleTest console; process exit includes all ranks",
          "ranks": 1,
          "revision": "baseline",
          "seconds": 45.243,
          "status": "passed",
          "test": "ElasticityTensorProductCouplingValidation.ExactSolution",
          "variant": "Release"
        },
        "has_censored_lower_bounds": false
      },
      {
        "revision": "baseline",
        "variant": "Release",
        "ranks": 2,
        "executions": 317,
        "statuses": {
          "passed": 317
        },
        "summed_case_seconds": 253.927,
        "maximum": {
          "lower_bound": false,
          "observation": "rank-zero GoogleTest console; process exit includes all ranks",
          "ranks": 2,
          "revision": "baseline",
          "seconds": 52.042,
          "status": "passed",
          "test": "FiberReinforcedElasticityFreq.BOTH_SharedDynamicMassAndPhasedForcing",
          "variant": "Release"
        },
        "has_censored_lower_bounds": false
      },
      {
        "revision": "candidate",
        "variant": "Debug",
        "ranks": 1,
        "executions": 601,
        "statuses": {
          "passed": 601
        },
        "summed_case_seconds": 623.372,
        "maximum": {
          "lower_bound": false,
          "observation": "GoogleTest XML; MPI rank zero, CTest exit includes all ranks",
          "ranks": 1,
          "revision": "candidate",
          "seconds": 28.529,
          "status": "passed",
          "test": "NavierStokes.BOTH_HypercubePoiseuilleIDA",
          "variant": "Debug"
        },
        "has_censored_lower_bounds": false
      },
      {
        "revision": "candidate",
        "variant": "Debug",
        "ranks": 2,
        "executions": 314,
        "statuses": {
          "passed": 314
        },
        "summed_case_seconds": 403.465,
        "maximum": {
          "lower_bound": false,
          "observation": "GoogleTest XML; MPI rank zero, CTest exit includes all ranks",
          "ranks": 2,
          "revision": "candidate",
          "seconds": 23.704,
          "status": "passed",
          "test": "FiberReinforcedElastodynamicsValidation.BOTH_SimplexForcedTranslationIDA",
          "variant": "Debug"
        },
        "has_censored_lower_bounds": false
      },
      {
        "revision": "candidate",
        "variant": "Release",
        "ranks": 1,
        "executions": 600,
        "statuses": {
          "passed": 600
        },
        "summed_case_seconds": 168.825,
        "maximum": {
          "lower_bound": false,
          "observation": "GoogleTest XML; MPI rank zero, CTest exit includes all ranks",
          "ranks": 1,
          "revision": "candidate",
          "seconds": 10.93,
          "status": "passed",
          "test": "LiftedElasticity.BOTH_ModalConstraint",
          "variant": "Release"
        },
        "has_censored_lower_bounds": false
      },
      {
        "revision": "candidate",
        "variant": "Release",
        "ranks": 2,
        "executions": 314,
        "statuses": {
          "passed": 314
        },
        "summed_case_seconds": 112.609,
        "maximum": {
          "lower_bound": false,
          "observation": "GoogleTest XML; MPI rank zero, CTest exit includes all ranks",
          "ranks": 2,
          "revision": "candidate",
          "seconds": 9.671,
          "status": "passed",
          "test": "LiftedElasticity.BOTH_VariableRadiusModalConstraint",
          "variant": "Release"
        },
        "has_censored_lower_bounds": false
      }
    ],
    "ctest_group_observations": [
      {
        "name": "ImmersX.Release.unit.Serial",
        "seconds": 1.22596,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.unit.MPI",
        "seconds": 1.24271,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.BoundaryConditions",
        "seconds": 0.931072,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.BoundaryConditions",
        "seconds": 1.59831,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.CoupledPoisson",
        "seconds": 1.05332,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.CoupledPoisson",
        "seconds": 2.82341,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.CoupledPoissonElasticity",
        "seconds": 1.1945,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.CoupledPoissonElasticity",
        "seconds": 1.86527,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.KnownTerm",
        "seconds": 0.916643,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.LargeNetworks",
        "seconds": 0.940805,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ParticleCoupling",
        "seconds": 1.3832,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ApplicationRoadmap",
        "seconds": 6.71139,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ApplicationRoadmap",
        "seconds": 6.91963,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ContributorPhysics",
        "seconds": 0.946215,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.CoupledElasticity",
        "seconds": 6.66813,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.CoupledElasticity",
        "seconds": 5.20432,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.FoundationalApplications",
        "seconds": 0.902835,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.TractionParameters",
        "seconds": 0.911876,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.DistributedIDA",
        "seconds": 2.02894,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.DistributedIDA",
        "seconds": 2.0076,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.SundialsCompatibility",
        "seconds": 0.930645,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.SundialsCompatibility",
        "seconds": 1.07186,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.DistributedLiftedQuadrature",
        "seconds": 1.04344,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ElasticStaticDimensions",
        "seconds": 0.968497,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ElasticStaticDimensions",
        "seconds": 1.08455,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ElasticStaticExecution",
        "seconds": 1.00519,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ElasticStaticProblem",
        "seconds": 1.21363,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ElasticStaticProblem",
        "seconds": 1.25558,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ElasticityProblem",
        "seconds": 1.12511,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ElasticityProblem",
        "seconds": 1.24729,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ElasticityCouplingParameters",
        "seconds": 0.9604,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ElasticityCouplingIntegration",
        "seconds": 0.956404,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ElasticityCouplingParticleOutput",
        "seconds": 0.966498,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.Elastodynamics",
        "seconds": 2.31015,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.Elastodynamics",
        "seconds": 2.46502,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ElasticityFreq",
        "seconds": 1.55283,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ElasticityFreq",
        "seconds": 1.77578,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.FiberReinforcedElasticityFreq",
        "seconds": 13.5527,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.FiberReinforcedElasticityFreq",
        "seconds": 11.5808,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ImportedFiniteElementFields",
        "seconds": 1.32856,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ImportedFiniteElementFields",
        "seconds": 1.14604,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.Domain",
        "seconds": 1.11591,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.Domain",
        "seconds": 1.15092,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.LocalCoRefinement",
        "seconds": 2.13086,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.LocalCoRefinement",
        "seconds": 1.95118,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.LiftedElasticity",
        "seconds": 45.0468,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.LiftedElasticity",
        "seconds": 42.2077,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.LegacyInclusions",
        "seconds": 0.996915,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.LegacyInclusions",
        "seconds": 1.06041,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.LiftedIntegrationSupport",
        "seconds": 1.46966,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.LiftedIntegrationSupport",
        "seconds": 1.19749,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.LinearAdapter",
        "seconds": 1.104,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.LinearAdapter",
        "seconds": 1.15412,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.PoissonPrimitives",
        "seconds": 0.984723,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.PoissonPrimitives",
        "seconds": 1.09797,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.LiftedPoisson",
        "seconds": 7.26655,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.LiftedPoisson",
        "seconds": 5.64854,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.KINSOLAdapter",
        "seconds": 1.17447,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.TimeIntervalParameters",
        "seconds": 1.51596,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ReducedCoupling",
        "seconds": 1.43221,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ReducedCoupling",
        "seconds": 1.25271,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ReducedPoisson",
        "seconds": 1.10987,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ReducedPoisson",
        "seconds": 1.1858,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.TensorProductSpace",
        "seconds": 1.01899,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.TensorProductSpace",
        "seconds": 1.08398,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.ReducedCoupling0D",
        "seconds": 0.995455,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.ReducedCoupling0D",
        "seconds": 1.0758,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.WeakTermNonmatching",
        "seconds": 1.12413,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.WeakTermNonmatching",
        "seconds": 1.11086,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.Constraint",
        "seconds": 0.963084,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.Constraint",
        "seconds": 1.06006,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.WeakTerm",
        "seconds": 1.00825,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.WeakTerm",
        "seconds": 1.06021,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.Serial.OutputHandler",
        "seconds": 1.10385,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.integration.MPI.OutputHandler",
        "seconds": 1.21364,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.validation.Serial",
        "seconds": 33.5359,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.validation.MPI",
        "seconds": 38.0656,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.application.Serial",
        "seconds": 55.6539,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.application.MPI",
        "seconds": 3.34529,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.unit.Serial",
        "seconds": 8.27331,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.unit.MPI",
        "seconds": 1.57534,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.BoundaryConditions",
        "seconds": 1.33796,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.BoundaryConditions",
        "seconds": 1.42935,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.CoupledPoisson",
        "seconds": 1.44885,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.CoupledPoisson",
        "seconds": 3.01539,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.CoupledPoissonElasticity",
        "seconds": 2.5959,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.CoupledPoissonElasticity",
        "seconds": 2.13384,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.KnownTerm",
        "seconds": 1.1398,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.LargeNetworks",
        "seconds": 1.14973,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ParticleCoupling",
        "seconds": 1.55138,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ApplicationRoadmap",
        "seconds": 19.4976,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ApplicationRoadmap",
        "seconds": 19.4675,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ContributorPhysics",
        "seconds": 1.24758,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.CoupledElasticity",
        "seconds": 28.056,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.CoupledElasticity",
        "seconds": 24.9786,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.FoundationalApplications",
        "seconds": 1.1406,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.TractionParameters",
        "seconds": 1.11636,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.DistributedIDA",
        "seconds": 3.19417,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.DistributedIDA",
        "seconds": 3.07882,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.SundialsCompatibility",
        "seconds": 1.08724,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.SundialsCompatibility",
        "seconds": 1.18422,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.DistributedLiftedQuadrature",
        "seconds": 1.19725,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ElasticStaticDimensions",
        "seconds": 1.46924,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ElasticStaticDimensions",
        "seconds": 1.5903,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ElasticStaticExecution",
        "seconds": 1.52404,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ElasticStaticProblem",
        "seconds": 2.85221,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ElasticStaticProblem",
        "seconds": 1.83017,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ElasticityProblem",
        "seconds": 2.05082,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ElasticityProblem",
        "seconds": 2.20913,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ElasticityCouplingParameters",
        "seconds": 1.23184,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ElasticityCouplingIntegration",
        "seconds": 1.42666,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ElasticityCouplingParticleOutput",
        "seconds": 1.37561,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.Elastodynamics",
        "seconds": 5.2792,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.Elastodynamics",
        "seconds": 4.25714,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ElasticityFreq",
        "seconds": 5.8374,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ElasticityFreq",
        "seconds": 5.40447,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.FiberReinforcedElasticityFreq",
        "seconds": 46.6473,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.FiberReinforcedElasticityFreq",
        "seconds": 40.443,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ImportedFiniteElementFields",
        "seconds": 1.42054,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ImportedFiniteElementFields",
        "seconds": 1.46817,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.Domain",
        "seconds": 1.61258,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.Domain",
        "seconds": 1.60786,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.LocalCoRefinement",
        "seconds": 6.35749,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.LocalCoRefinement",
        "seconds": 4.56272,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.LiftedElasticity",
        "seconds": 126.029,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.LiftedElasticity",
        "seconds": 114.518,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.LegacyInclusions",
        "seconds": 1.41303,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.LegacyInclusions",
        "seconds": 1.34768,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.LiftedIntegrationSupport",
        "seconds": 2.07404,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.LiftedIntegrationSupport",
        "seconds": 2.06609,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.LinearAdapter",
        "seconds": 2.37283,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.LinearAdapter",
        "seconds": 2.18398,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.PoissonPrimitives",
        "seconds": 1.18745,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.PoissonPrimitives",
        "seconds": 1.32608,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.LiftedPoisson",
        "seconds": 36.1586,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.LiftedPoisson",
        "seconds": 26.0526,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.KINSOLAdapter",
        "seconds": 1.26263,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.TimeIntervalParameters",
        "seconds": 1.42281,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ReducedCoupling",
        "seconds": 1.69307,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ReducedCoupling",
        "seconds": 1.4476,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ReducedPoisson",
        "seconds": 1.44262,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ReducedPoisson",
        "seconds": 1.62612,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.TensorProductSpace",
        "seconds": 1.29801,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.TensorProductSpace",
        "seconds": 1.32389,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.ReducedCoupling0D",
        "seconds": 1.7032,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.ReducedCoupling0D",
        "seconds": 1.39183,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.WeakTermNonmatching",
        "seconds": 4.56163,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.WeakTermNonmatching",
        "seconds": 1.81586,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.Constraint",
        "seconds": 1.33116,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.Constraint",
        "seconds": 1.53016,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.WeakTerm",
        "seconds": 2.21396,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.WeakTerm",
        "seconds": 1.62611,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.Serial.OutputHandler",
        "seconds": 1.27859,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.integration.MPI.OutputHandler",
        "seconds": 1.46331,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.validation.Serial",
        "seconds": 186.048,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.validation.MPI",
        "seconds": 156.09,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.application.Serial",
        "seconds": 150.797,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.application.MPI",
        "seconds": 9.46101,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.PublicHeaderSelfContainment",
        "seconds": 2.07158,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.PublicHeaderSelfContainment",
        "seconds": 1.25373,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.TestCategoryCoverage",
        "seconds": 0.809871,
        "status": "passed"
      },
      {
        "name": "ImmersX.Release.TestCategoryGuard",
        "seconds": 7.09345,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.TestCategoryCoverage",
        "seconds": 1.0058,
        "status": "passed"
      },
      {
        "name": "ImmersX.Debug.TestCategoryGuard",
        "seconds": 8.12458,
        "status": "passed"
      }
    ],
    "interpretation": "Sums exclude process startup and CTest overhead. Baseline cases stopped at120s are lowerbounds. Baseline Release includes two original failures. These are separate runs with changed fixtures and coverage, not a matched benchmark or a hosted-CI speedup measurement. MPI XML is rankzero; successful launcher exits and per-rank watchdogs cover everyrank. CTest groups aggregate several individually bounded cases and can exceed120s.",
    "unexecuted_optional_configurations": [
      "MetricFlowX discovery and package matrix",
      "Coral",
      "external FVM-linked runtime drivers",
      "standalone benchmark targets",
      "deal.II-style application testing"
    ]
  }
}
