Skip to content

Stop ExecSection from mutating the shared kwargs input spec - #44

Merged
thorwhalen merged 1 commit into
masterfrom
fix/39-exec-section-kwargs-spec-mutation
Oct 20, 2026
Merged

thorwhalen merged 1 commit into
masterfrom
fix/39-exec-section-kwargs-spec-mutation

Conversation

@thorwhalen

Copy link
Copy Markdown
Member

Fixes #39.

ExecContainerBase._feed_kwargs_input_spec assigned into self.inputs["kwargs"]["inputs"], which is the dict held by the convention default (e.g. streamlitfront's DFLT_CONVENTION_DICT), so every section leaked its sibling input specs into every later section in the process. It now builds new dicts, and __init__ passes self.inputs (not the caller's inputs) to mk_input_element_specs.

Regression test: tests/test_exec_section_spec_isolation.py builds two sections from one shared spec and checks the shared kwargs entry is untouched (fails on master).

streamlitfront tests pass against this branch (17 passed).

🤖 Generated with Claude Code

_feed_kwargs_input_spec assigned into inputs["kwargs"]["inputs"], which is the
dict held by the convention default, so each section leaked its sibling input
specs into every section built after it. Build new dicts instead and use
self.inputs when making the input element specs.

Fixes #39

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@thorwhalen
thorwhalen merged commit 8d789a0 into master Oct 20, 2026
12 checks passed
@thorwhalen
thorwhalen deleted the fix/39-exec-section-kwargs-spec-mutation branch October 20, 2026 13:58
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.

ExecSection._feed_kwargs_input_spec mutates the shared default 'kwargs' spec, leaking one app's inputs into the next

1 participant