Split lightweight conformance from simulator facade - #69
Merged
Conversation
Taz33m
marked this pull request as ready for review
July 27, 2026 17:50
There was a problem hiding this comment.
All reported issues were addressed across 39 files
Tip: cubic can generate docs of your entire codebase and keep them up to date. Try it here.
Re-trigger cubic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tracebook-conformance==0.6.0the sole owner of thetracebookpackage, bundled fixtures, typing marker, and conformance command, with no mandatory runtime dependencies.tracebook-sim==0.6.0with a package-less compatibility facade that pins the exact conformance version, retains NumPy/psutil, and preserves the seven existing simulator/workbench commands.tracebook-sim0.5.x before either 0.6.0 install, including a recovery command for damaged direct upgrades.Why
Conformance qualification does not need NumPy or psutil, but Python extras cannot remove mandatory dependencies. A separate package-less facade preserves the existing simulator experience without creating overlapping installed files.
The 0.5.x wheel owned the entire
tracebooknamespace. A naive in-place upgrade can install the new owner and then delete its files while uninstalling the old owner, so the supported migration must uninstall 0.5.x first.Validation
pip check, and all seven facade command probes.Merge and release blocker
tracebook-conformanceis a new PyPI project name and is not currently published. Before merge/release:Taz33m/tracebook, workflowrelease.yml, environmentpypi.maindoes not advertise an unavailable pinned package.CITATION.cffto 0.6.0 and its conformance PyPI URL, and mark0.6.xsupported inSECURITY.md.The release workflow intentionally rejects a
v0.6.0release until that final public metadata is truthful.Summary by cubic
Split the project into
tracebook-conformance(owns thetracebookpackage and conformance command with zero mandatory runtime deps) and a package-lesstracebook-simfacade for simulator/workbench commands; hardened the 0.6.0 release with deterministic, verifiable builds and updated docs to point to the new distribution.New Features
tracebook-conformance(empty deps); addedpackaging/tracebook-simfacade with the seven simulator/workbench commands and its ownpyproject.toml/LICENSE.setuptools/wheel, setSOURCE_DATE_EPOCHfrom the release commit, install conformance and facade separately, isolate the conformance smoke by clearing Python env vars and disabling user site, and add gates/tests for disjoint ownership and byte-for-byte sdist→wheel agreement viatools/verify_distribution_split.pyandtools/verify_sdist_wheel_agreement.py.tracebook-conformance, CHANGELOG,CITATION.cff(version/date/URL),SECURITY.md(0.6.x), addeddocs/releases/0.6.0.md, refreshed qualification IDs/corpus hashes, and aligned examples and docs.Migration
tracebook-sim0.5.x, uninstall it first:python -m pip uninstall -y tracebook-sim.python -m pip install "tracebook-conformance==0.6.0". Add simulator/workbench tools if needed:python -m pip install "tracebook-sim==0.6.0".Written for commit 23b7be2. Summary will update on new commits.