Skip to content

feat(variation): add validated Morris sensitivity screening - #4393

Closed
d-sorgcodexagent[bot] wants to merge 6 commits into
feat/4144-variation-export-continuationfrom
codex/4142-global-sensitivity
Closed

feat(variation): add validated Morris sensitivity screening#4393
d-sorgcodexagent[bot] wants to merge 6 commits into
feat/4144-variation-export-continuationfrom
codex/4142-global-sensitivity

Conversation

@d-sorgcodexagent

Copy link
Copy Markdown
Contributor

Summary

  • add a deterministic, validated Morris elementary-effects design and analysis contract for epic Epic: Ensemble variation, swing quiet zones, and sensitivity attribution #4142 R13.2-R13.4
  • report signed and absolute effects, dispersion, standard error, adequacy, provenance, source locus, units, frame, and typed availability
  • preserve valid pre-impact/state-point metrics for no-impact trials while never fabricating impact or shot outputs
  • distinguish total typed no-impact pairs from output-unavailable no-impact pairs and retain failure/non-finite denominators
  • publish a versioned JSON golden contract for the future React consumer
  • update SPEC and all three canonical Rate of Closure handoffs in the implementation commit

Scope boundary

This PR intentionally does not implement the simulation execution adapter, React/PyQt views, exports, UpstreamDrift consumption, or large-ensemble performance qualification. Those remain tracked follow-ups. It does not touch the UI/export implementation in parent PR #4280.

Validation

  • full variation package: 109 passed
  • focused Morris suite: 16 passed
  • Ruff check and Ruff format: passed for the variation package
  • scoped MyPy: passed
  • changed-Python, docs-governance, minimum-test, file/function-size, and git diff --check: passed
  • independent critical engineering review: GO

Stack

Base: feat/4144-variation-export-continuation at 7fb5d7f489db49742b7bc82ef009570ad2502456 (PR #4280). Preserve parent order; do not retarget or merge this child before its protected parent.

Tracks #4142 and #4144.

dieterolson and others added 5 commits August 6, 2026 05:37
* feat(golf-club): add assembly physics contracts

* fix(golf-club): satisfy assembly mypy gate

* fix(club-builder): support Python 3.10 enums

* fix(ci): detect mirrored shared-package tests

* fix(ci): include UpstreamDrift package roots
…n default tab initializers (#4176)

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: dieterolson <198168927+dieterolson@users.noreply.github.com>
Replaced `.split(':')` and `.join(':')` with `indexOf` and `substring` in
the `parseKeyValue` function inside `ODESolverCalculator.tsx`.

This eliminates unnecessary intermediate array allocations and closure
executions, reducing garbage collection pressure and function call
overhead in the React component's rendering loop.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: dieterolson <198168927+dieterolson@users.noreply.github.com>
…42-global-sensitivity

# Conflicts:
#	SPEC.md
#	src/shared/python/golf_club/__init__.py
#	tests/ops/test_cross_repo_python_integration.py
#	tests/shared/python/golf_club/test_contracts.py
@dieterolson

Copy link
Copy Markdown
Collaborator

Closing as superseded by #4473 (CONS-RATE: Complete #4142/#4433 visualization authority), merged 2026-08-16 as 392d9683b.

#4473 states in its own description: "After protected merge, this PR supersedes only the remaining #4142/#4433 draft chain." That merge has landed.

Verified before closing:

The branch is left intact, so nothing is lost and this can be reopened if any slice turns out to be missing. Please reopen rather than rebase — rebasing this chain onto current main would reintroduce the divergence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant