Complete semantic review publication workflows - #8
Merged
Conversation
Resolve the stored integration pull request before synchronizing projection refs. If GitHub reports that pull request as merged, stop publication with guidance to archive the review session instead of treating the merged pull request as missing. This preserves the authoritative merged pull request number, prevents creation of a replacement Draft integration pull request, and keeps the normal archive path usable. Add an integration regression that verifies no replacement is created, the stored mapping is unchanged, and archive still succeeds against the original merged pull request.
Resolve existing slice pull requests before projection preparation so publication can distinguish a brand-new empty slice from one that previously had review content. Keep the existing pull request open, but rebuild and synchronize its generated base and head refs as a deterministic zero-diff projection. This makes the Files changed view agree with the currently-empty body note while preserving the pull request number and discussion history. Brand-new empty slices continue to skip pull request and ref creation. Extend the integration regression to prove that a previously non-empty remote diff is replaced, both backing refs remain available for the open pull request, and their resulting visible diff is empty.
Update both maintainer-facing smoke commands in the README and the published agent skill to invoke the script through uv with synchronization disabled. The repository setup creates an isolated project environment but does not make the system python3 inherit its dependencies. Reusing uv's existing environment keeps the commands copy-paste runnable after the documented locked sync, avoids unnecessary dependency resolution, and ensures the child CLI has Click and Pydantic available. Verify both the normal and strict smoke workflows with the revised commands.
Only active slice pull requests receive the final archive lifecycle note. Removed slices retain the note explaining why their review was closed, while archive still validates pull request state and deletes generated refs for every slice. Add a behavioral regression covering remove, republish, integration merge, and archive so later lifecycle updates cannot overwrite removal history.
Remove the unavailable-hook exception, dynamic getattr lookup, callable casts, and assign signature inspection now that the public API exposes every command operation. Keep the typed CLI protocol as the replaceable command seam and update the dispatch test to verify that the force flag is forwarded explicitly.
Drop the behavioral loop that only checked whether pull request golden files were non-empty because unit tests already compare every file byte for byte. Remove the narrow legacy session default test because the contract compatibility suite validates the same payload and default while also covering the other additive report fields.
Require IntegrationSliceLink values at the integration body rendering boundary and remove the tuple normalization branch that no production caller used. Update unit tests to construct the same typed records as the publication workflow so tests exercise the supported interface instead of preserving a test-only compatibility path.
Correct the narrative policy so the managed slice region lists only the metadata it actually owns. Removal and archive notes are now described as content of the distinct lifecycle region used by the renderer.
Rewrite the four edited docstrings so they describe the current selector, publication, and PR-body contracts without preserving obsolete wording. Normalize README and skill list capitalization, punctuation, sentence counts, and emphasis. Rephrase the behavioral suite introduction to remove the flagged stock construction while preserving its traceability contract.
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
Compatibility
Validation