Repository navigation
fix: require durable ownership of material consequences - #21
Merged
Merged
Conversation
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.
Authorized publication disposition
The user-supplied Planning → Publication handoff records exact-candidate Planning review complete, independent review ACCEPT, consequence dispositions accepted, and authorization to publish the reviewed candidate by protected squash merge. No material #17 obligation remains after merge. This disposition supersedes the implementation-stage pending-gate and open-issue statements retained below as historical evidence.
Reviewed head:
e516cd9c5cf71910a6d7d46eb06d1b66bf49068c; base:36c7786d3b2d4307a1bea943098a8e86b88a3701.Issue closure on merge:
jamesreimer/agent-workflows#17only. Normal resulting-state verification and cleanup remain Publication duties. No release, tag, or settings change is authorized.Closes #17
Publication result
Protected squash merge completed. Published commit:
417e2120f56c828c13b8c7d6a5228b8ecb7e2007, with the expected base as its sole parent. Reviewed and published tree IDs are identical:76b6f5568400fd835ace6de36986036beca2f105.Final gate passed on
e516cd9c5cf71910a6d7d46eb06d1b66bf49068c: PR relationship targets and explicit landing-message targets each resolve to{jamesreimer/agent-workflows#17}. The sole intermediate commit has no closure target and is non-controlling under the explicitly bound squash message. Aggregate equals the authorized set. No rules bypass was used.The landed subject and body exactly match the authorized message, including the scope limiter “created by the work.” Issue #17 is CLOSED / COMPLETED; its ClosedEvent identifies PR #21 and the published commit as the closer. No additional closure targets or unexpected host behavior were observed.
Published-commit Repository validation reached final SUCCESS on
417e2120f56c828c13b8c7d6a5228b8ecb7e2007. Local main and origin/main match that commit; worktree is clean; local and remote feature branches are removed. Local branch cleanup requiredgit branch -Dafter verifying the reviewed tip and identical published tree because squash does not preserve commit ancestry.Publication is complete; control returns to Planning / Primary Author. No release, tag, settings change, sibling repository edit, or history rewrite occurred.
Outcome and authority
A material consequence can be recognized yet orphaned by calling it “later” or “separate work.” This candidate requires Planning to disposition consequences actually created by the work as handled here, explicitly inapplicable, or durably owned elsewhere before governed completion. It preserves bounded scope and excludes speculative or immaterial possibilities.
Authority: Issue #17 and its settled Planning decision, plus the user's implementation handoff.
36c7786d3b2d4307a1bea943098a8e86b88a3701.e516cd9c5cf71910a6d7d46eb06d1b66bf49068c.fix/material-consequence-ownership, following CONTRIBUTING's type/description convention.Responsibility placement and changed files
roles/planning.mdhandoffs/return-of-control.mdworkflows/reviewed-change.mdThe three surfaces cover reasoning, retained evidence, and lifecycle completion. Existing Follow-up, Findings and unresolved conditions, and Return destination fields already carry the necessary state; no new row, registry, checklist artifact, parser, or runtime is needed. The rule applies without GitHub, an issue, a PR, or Publication.
All additions are workflow-local. Mechanical comparisons confirm source-derived/governing sections are byte-identical to base, the Return of Control table is unchanged, Planning's existing issue-completion guidance is unchanged, and reviewed-change through the Publication step is unchanged.
roles/publication.md,handoffs/review-to-publication.md, source pins, and all repository mechanics are untouched. Issue closure on merge behavior is preserved.Semantic cases — manual implementor walkthroughs
These are semantic walkthroughs, not automated prose tests or independent review. No new semantic parser/test framework is introduced.
Consumer compatibility and proposed next-release summary
Evidence: Issue #17, this PR, and the exact candidate above. This is a compatible reusable workflow-semantic refinement. Consumers deliberately updating copied Planning role guidance, reviewed-change compositions, or Return of Control handoffs should review the clarified completion expectation and retain actual owner/work identities in existing project records. Existing instantiated handoffs do not silently change. Table shape, role transfer, issue closure, and publication authority remain intact. Consumers preserve legitimate local adaptations and their own authority; no consumer adoption is executed here.
Carried-forward unreleased summaries
The complete
v0.2.0..basedelta contains the following three changes. Retain all three for later release curation under MAINTAINING; no version, Unreleased section, release, or tag is created, and CHANGELOG.md is unchanged.Validation
.venv/bin/pre-commit run --all-files --show-diff-on-failure: PASS, including Markdown lint and authoring regressions, local links and link regressions, Ruff, actionlint, and local artifact validator/tests. Only the expected no-files broken-symlink hook skipped. No hook modified files.python3 scripts/validate_local.py: PASS.python3 -m unittest discover -s tests: PASS, five tests.git diff --checkandgit diff --cached --check: PASS.npm audit: PASS, zero vulnerabilities.e516cd9c5cf71910a6d7d46eb06d1b66bf49068c: run 36814688694, job 110217081148. Run status is completed, conclusion success, and head SHA matches the candidate; required-check readback reports pass. Checkout logs confirm the exact candidate.Limits: local artifact validation checks artifact presence and obvious live identifiers, not semantic correctness. Local link checks skip external URLs; referenced project records were read through GitHub CLI. No validator changes warrant new injected-defect cases. No consumer integration or publication was performed. Required independent review is separate from implementor qualification. No implementation deviation or unresolved implementation finding identified.
Material consequence dispositions for #17
No material consequence is deferred with only vague future intent. No speculative follow-up is created. Final Planning review must assess these dispositions against the project contract.
Issue state and completion boundary
Issue #17 remains OPEN during Implementation and review. This PR and its sole commit use descriptive, non-closing text; no intentional closing relationship is established. Final Publication's closure declaration remains with Planning / Publication after required review and authorization. Once implementation, complete validation, exact-candidate Planning review, independent review, publication authorization, and these consequence dispositions are accepted, merge may satisfy #17 if no material post-merge obligation remains. Routine synchronization, branch cleanup, and ordinary post-merge verification alone do not keep it open.
PR #21 readback confirms OPEN state, the exact base/candidate above, and empty
closingIssuesReferences; Issue #17 remains OPEN. The sole commit and PR text contain no issue-closing command. Local worktree is clean. This snapshot is return evidence, not a final publication gate.This is an Implementation return boundary, not a merge or issue-closure authorization. Publication must establish landing text and repeat the canonical issue-closure gate immediately before any authorized merge. No merge, issue closure/reopening, release, tag, sibling repository edit, or settings change is performed.
Ready-to-use return to Planning / Primary Author
Act as Planning / Primary Author under the settled Issue #17 decision linked above. Assess candidate
e516cd9c5cf71910a6d7d46eb06d1b66bf49068cagainst base36c7786d3b2d4307a1bea943098a8e86b88a3701and this PR's evidence. Review responsibility placement, all required semantics and A/B/C/D cases, preserved #19 closure behavior, consumer compatibility, retained release summaries, and consequence dispositions. Arrange the required independent review without mutating the candidate. Record the supported exact-candidate conclusion and material findings in Issue #17/this PR; route corrections to authorized Implementation for full requalification. Return the review disposition to Planning / Primary Author and establish the final Publication handoff only under actual publication authority. Implementation stops at one open PR with complete local and final-success hosted validation; it does not assume another role.