Skip to content

Fail closed for unqualified bounded group defaults - #1301

Open
AlexanderFengler wants to merge 1 commit into
codex/1225-group-only-safe-priorsfrom
codex/1269-bounded-group-prior-guard
Open

Fail closed for unqualified bounded group defaults#1301
AlexanderFengler wants to merge 1 commit into
codex/1225-group-only-safe-priorsfrom
codex/1269-bounded-group-prior-guard

Conversation

@AlexanderFengler

Copy link
Copy Markdown
Member

Summary

  • fail closed when generic safe-prior generation reaches a unique group-only intercept on a finitely bounded identity scale
  • preserve explicit exact/wildcard priors, transformed-link defaults, unbounded parameters, slopes, matched deviations, and calibrated exact/black-box HDDM hierarchies
  • give users an actionable choice between a support-respecting link and an explicit centered natural-support hierarchy
  • document the release policy in the group-prior guide and HSSM 0.5.0 changelog

Closes #1269.

Why this is the release bridge

The rejected centered hierarchical TruncatedNormal experiment must not become a default. The generic generated group hierarchy is unbounded, while likelihood bounds are not a hard prior-support contract. Until a bounded hierarchy has passed the separate causal and end-to-end qualification, requiring an explicit modeling decision is the smallest safe production behavior.

This PR contains no TruncatedNormal implementation, sampler harness, benchmark artifact, or research dependency.

Scope boundary

  • only safe-generated, unique unmatched group-only intercepts are guarded
  • only an effective identity link with at least one finite HSSM response bound triggers the error
  • exact and wildcard explicit priors are never rewritten or blocked by this guard
  • transformed links keep the generated hierarchy on the unconstrained predictor scale
  • exact/black-box HDDM likelihoods keep their calibrated natural-support group hierarchies, with the existing warning that exact coefficient bounds are not applied
  • group-only slopes and matched group deviations do not inherit response bounds
  • prior_settings=None remains available when the user supplies the complete prior policy

Validation

  • 1,215 non-slow tests passed
  • 465 focused prior/parameterization/graph tests passed with Bambi 0.20.0
  • the same 465 focused tests passed at the supported Bambi 0.19.0 floor
  • transformed-link and explicit natural-support integration tests build connected graphs with finite initial log density
  • Ruff, formatting, Pyrefly, mypy, strict MkDocs, and git diff --check passed

Stack

Temporarily targets #1272 because this guard is defined on top of its population-location ownership policy. Retarget to main after #1272 merges.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 022c85c2-d4c7-40c4-8a64-233813ff82d4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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