Skip to content

feat: simplify apply_tool_multiplex() using multiplex --flat mode - #869

Merged
k-rister merged 1 commit into
masterfrom
feat-tool-multiplex-flat-mode
Aug 17, 2026
Merged

feat: simplify apply_tool_multiplex() using multiplex --flat mode#869
k-rister merged 1 commit into
masterfrom
feat-tool-multiplex-flat-mode

Conversation

@k-rister

Copy link
Copy Markdown
Contributor

Summary

  • multiplex.py's new --flat mode (feat: repeatable-arg support, merge refactor, and --flat mode for tools multiplex#111, merged) is purpose-built for consumers with no sets/include/cartesian-product concept
  • Tools always have exactly one implicit param set and, per schema/tool-params.json, never more than one value per param -- the previous wrap-into-sets-document/unwrap dance and the len(...) == 1 defensive check were ceremony around something structurally impossible
  • apply_tool_multiplex() now writes the tool's flat params directly, invokes multiplex.py --flat, and reads the result back as-is; filtering of disabled params and enforcement of exactly-one-combination now live inside multiplex.py itself

Test plan

  • pytest tests/test_apply_tool_multiplex.py -v — 5 passed (rewritten for flat-mode shape; the now-impossible test_more_than_one_combination_is_rejected was removed since that check moved into multiplex.py)
  • pytest tests/ — 57 passed, no regressions elsewhere

🤖 Generated with Claude Code

multiplex.py now provides a --flat mode (perftool-incubator/multiplex#111)
purpose-built for consumers with no sets/include/cartesian-product concept.
Tools always have exactly one implicit param set and, per
schema/tool-params.json, never more than one value per param, so the
previous wrap-into-sets-document/unwrap dance and the len(...) == 1
defensive check were ceremony around something structurally impossible.
This writes the tool's flat params directly, invokes --flat, and reads
the result back as-is -- filtering of disabled params and enforcement of
exactly-one-combination now live inside multiplex.py itself.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@k-rister k-rister self-assigned this Aug 17, 2026
@project-crucible-tracking project-crucible-tracking Bot moved this to In Progress in Crucible Tracking Aug 17, 2026
@k-rister
k-rister requested a review from a team August 17, 2026 12:52

@atheurer atheurer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved after thorough code review and local test suite verification (all 57 tests passed).

@k-rister
k-rister merged commit 27e62d6 into master Aug 17, 2026
420 of 422 checks passed
@k-rister
k-rister deleted the feat-tool-multiplex-flat-mode branch August 17, 2026 21:53
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Crucible Tracking Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants