Skip to content

fix: raise openjd-model floor to >= 0.11.4 - #354

Merged
leongdl merged 1 commit into
OpenJobDescription:mainlinefrom
leongdl:fix/raise-openjd-model-floor-0.11.4
Aug 19, 2026
Merged

fix: raise openjd-model floor to >= 0.11.4#354
leongdl merged 1 commit into
OpenJobDescription:mainlinefrom
leongdl:fix/raise-openjd-model-floor-0.11.4

Conversation

@leongdl

@leongdl leongdl commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Raise the openjd-model floor from >= 0.11.2 to >= 0.11.4.

openjd-model 0.11.4 gives openjd.expr.SerializedSymbolTable a JSON transport form (to_json_str / from_json_str). That transport is how a caller gets a resolved table across a process boundary and into the v1 Session's resolved_symtab — a scheduler resolves with create_job_with_symbol_tables, persists the JSON, and a worker reconstructs it. Before 0.11.4 the only constructor is from_symtab, so that path is not expressible and resolved_symtab is only usable in-process.

Nothing in this package's own source calls the new accessors, so this is a floor raise for the caller contract, not an import requirement — sessions still imports fine against 0.11.2. The floor comment now also records the 0.11.2 hard lower bound (the EXPR/WRAP_ACTIONS model surface this package does import) so it does not get lowered past the point where imports break.

What was the problem/requirement? (What/Why)

openjd-model 0.11.4 is released and on PyPI. The floor here still pointed at 0.11.2, so consumers resolving openjd-sessions could land on a model version whose SerializedSymbolTable cannot round-trip through JSON, leaving the resolved_symtab parameter half-usable.

What was the solution? (How)

One-line floor bump in pyproject.toml, plus a rewrite of the adjacent comment. The old comment said "0.11.1 is the floor" while the pin read 0.11.2; the replacement states the 0.11.4 rationale and keeps the 0.11.2 hard bound as a separate "do not drop below" note.

What is the impact of this change?

Consumers of openjd-sessions must resolve openjd-model >= 0.11.4. No runtime behavior change in this package.

How was this change tested?

  • Have you run the unit tests? Yes. Fresh venv, pip install -e . resolved openjd-model 0.11.4, confirmed SerializedSymbolTable.to_json_str / .from_json_str are present, and ran test/openjd/sessions_v1, test_runner_base.py, test_runner_step_script.py: 183 passed, 11 skipped, 3 xfailed.

Was this change documented?

The dependency comment in pyproject.toml is updated. No docstrings affected.

Is this a breaking change?

No. It narrows a dependency range; the public interface is unchanged.

Does this change impact security?

No.

Cross-port to openjd-rs

  • This change does not affect runtime behavior (docs / tests / tooling only)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Signed-off-by: David Leong <leongdl@amazon.com>
@leongdl
leongdl requested a review from a team as a code owner August 19, 2026 16:10
@leongdl
leongdl enabled auto-merge (rebase) August 19, 2026 16:32
@leongdl
leongdl merged commit ea0ea7f into OpenJobDescription:mainline Aug 19, 2026
31 checks passed
@leongdl
leongdl deleted the fix/raise-openjd-model-floor-0.11.4 branch August 19, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants