Skip to content

Report the layout refusal first in described runs with several layouts - #246

Merged
guijacquemet merged 3 commits into
mainfrom
claude/heterogeneous-refusal-first
Nov 9, 2026
Merged

guijacquemet merged 3 commits into
mainfrom
claude/heterogeneous-refusal-first

Conversation

@guijacquemet

Copy link
Copy Markdown
Contributor

Fixes #245

What changes

  • The run lists R_HETEROGENEOUS_LAYOUT_NOT_ENABLED first, before the axis review's issues (run/description_run.py, heterogeneous_first).
  • The axis review's arrangement issues (inconsistent_mapping, missing_axes, ambiguous_missing_axes) stay errors in a heterogeneous run, but their advice to export the images the same way is replaced by a note that they follow from the different layouts. Runs of one layout keep the old advice.
  • The notebook's axis step says that no roles are suggested because the units declare different layouts (fluorescence and RGB) and that this version runs one layout per experiment. Without a saved description it keeps the general message.
  • The Check and save list already put the layout refusal first (roles unconfirmed or confirmed); a test now pins that.

Nothing refused before is accepted: the set of refusal codes of the issue's reproduction is asserted to be exactly {R_HETEROGENEOUS_LAYOUT_NOT_ENABLED, inconsistent_mapping}, as before.

The missing_axes rule (gap from the #243 review)

sum(len(a) == len(longest) ...) == 1 in image_consistency.arrangement_issues is an equivalent mutant: two different arrangements of the longest length are never both subsequences of it, so the all(...) clause before it already excludes them. With >= 1 the full suite (4933 tests) still passes, and no test can kill it. The new test instead pins the behaviour for every pair and triple of 8 arrangements against an independent statement of the rule. The redundant clause could be removed in a separate change.

Tests

tests/test_heterogeneous_refusal_first.py (8 tests). Three fail on main (order, advice, axis step text).


Generated by Claude Code

#245)

The run lists R_HETEROGENEOUS_LAYOUT_NOT_ENABLED before the axis review's issues, and the
arrangement issues no longer advise exporting the images the same way. The notebook's axis step
says no roles are suggested because the units declare different layouts. The refusal codes are
unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
…note

Two fluorescence layouts with different channel lists were described as
"fluorescence units, which are arranged differently". Say the channel lists differ.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
@guijacquemet
guijacquemet merged commit 61cac76 into main Nov 9, 2026
7 checks passed
@guijacquemet
guijacquemet deleted the claude/heterogeneous-refusal-first branch November 9, 2026 09:32
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.

Described runs with several layouts: inconsistent_mapping and the missing suggested mapping hide the real refusal

2 participants