Skip to content

Refuse RGB units only for requests that name their channels (Spec §8): mask-only features on RGB slides - #298

Merged
guijacquemet merged 1 commit into
mainfrom
claude/rgb-mask-only
Nov 14, 2026
Merged

guijacquemet merged 1 commit into
mainfrom
claude/rgb-mask-only

Conversation

@guijacquemet

Copy link
Copy Markdown
Contributor

experiment-v1 §8 defines A_RGB_NOT_SUPPORTED for "a request on a described run [that] includes the channels of an RGB unit". The resolver refused any request whose scope touched an rgb unit, mask-only requests included. As a result, a brick's mask-only features could not run on an RGB slide (H&E, for example) unless the brick declared rgb_support:

  • MorphoObjects nucleus and cell shapes;
  • MorphoRelate relations and fibre skeletons from a segmentation mask.

Change (run_inputs_resolve.py, one line, plus the rgb_refusal docstring): only the rgb images whose channels the request names count toward the refusal. Channel requests on RGB units are unchanged and still need rgb_support.

Owner decision (14 November 2026): fix the code to the Spec. No new capability value.

Test: on Spec v28, a mask-only request is accepted for any consumer, and naming one of R, G, B is still A_RGB_NOT_SUPPORTED.

Check: tools/check.py gave 5495 passed, 4 skipped (case-sensitive file system ×3, running as root), 0 failed. Ruff and code rules are clean.

Related: MorphoFeature #221 (23bfe80) applies the same rule to its catalogue capability. It takes effect end to end with the preprocessing release that carries this PR and #295 (v0.5.4).


Generated by Claude Code

…v1 section 8)

A_RGB_NOT_SUPPORTED applies, per the Spec, to "a request on a described run [that] includes the
channels of an RGB unit". The resolver refused any request whose scope touched an rgb unit,
mask-only requests included, so a brick's mask-only features (MorphoObjects shapes, MorphoRelate
relations and skeletons) could not run on an RGB slide without declaring rgb_support. It now
counts only the rgb images whose channels the request names. Owner decision of 14 November 2026:
fix the code to the Spec; no new capability value.

Test: on Spec v28, a mask-only request is accepted for any consumer; naming one of R, G, B is
still A_RGB_NOT_SUPPORTED. tools/check.py: 5495 passed, 4 skipped (case-sensitive file system x3,
running as root), 0 failed. Ruff and code rules are clean after shortening two lines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VbytvF3Gsa85ix8Ne2yMDW
@guijacquemet
guijacquemet merged commit 052668e into main Nov 14, 2026
7 checks passed
@guijacquemet
guijacquemet deleted the claude/rgb-mask-only branch November 14, 2026 15:21
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.

2 participants