Skip to content

PNE-9649: Remove allowed_names from ProcessTemplate - #242

Open
wjohnald wants to merge 2 commits into
mainfrom
feature/PNE-9649-deprecate-allowed-names
Open

wjohnald wants to merge 2 commits into
mainfrom
feature/PNE-9649-deprecate-allowed-names

Conversation

@wjohnald

@wjohnald wjohnald commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

GEMD Python PR

Description

The Citrine Platform ignores allowed_names on process templates. It finds ingredient names from the ingredient specs. Epic PNE-9643 drops the field, so this PR removes it from GEMD Python.

This PR breaks the public API. Code that passes or reads allowed_names fails with 4.0.0.

This PR makes these changes:

  • Remove allowed_names from the ProcessTemplate constructor and its attributes.
  • Stop setting the field in the cake demo.
  • Bump the version to 4.0.0.

JSON that has the field loads in 4.0.0. The loader drops the field and logs a warning.

GEMD Python never checked ingredient names against allowed_names. Every existing check stays in place.

Run the checks in CONTRIBUTING.md to test it.

PR Type:

  • Breaking change (fix or feature that would cause existing functionality to change)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Maintenance (non-breaking change to assist developers)

Adherence to team decisions

  • I have added tests for 100% coverage
  • I have written Numpy-style docstrings for every method and class.
  • I have communicated the downstream consequences of the PR to others.
  • I have bumped the version in __version__.py

🤖 Generated with Claude Code

wjohnald and others added 2 commits November 12, 2026 09:14
Setting a non-empty allowed_names now emits a DeprecationWarning. The
Citrine Platform ignores the field, and it will be removed in 4.0.0.
The constructor argument, property, and JSON round-trip still work.
The cake demo no longer sets the field. Bump the version to 3.1.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Citrine Platform no longer uses process-template allowed_names.
Remove the constructor argument, the property, and the deprecation
warning, along with their tests. JSON that still has the field loads,
and the loader logs that it ignores the unexpected key. Bump the
version to 4.0.0 for the breaking change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wjohnald wjohnald changed the title PNE-9649: Deprecate allowed_names on ProcessTemplate PNE-9649: Remove allowed_names from ProcessTemplate Nov 12, 2026
@wjohnald
wjohnald marked this pull request as ready for review November 12, 2026 14:22
@wjohnald
wjohnald requested a review from kroenlein November 12, 2026 14:22
@kroenlein

Copy link
Copy Markdown
Collaborator

Delete the attribute here would break all existing pipelines. I would much rather have a deprecation on 4.0 (which I was presuming would be dropping python 3.10 support) and then removal in 5.0. We'd presumably include a message about setting the attribute having no effect in the deprecation.

This branch has not been deployed

No deployments
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