Skip to content

fix: require durable ownership of material consequences - #21

Merged
jamesreimer merged 1 commit into
mainfrom
fix/material-consequence-ownership
Oct 1, 2026
Merged

jamesreimer merged 1 commit into
mainfrom
fix/material-consequence-ownership

Conversation

@jamesreimer

@jamesreimer jamesreimer commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

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#17 only. 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 required git branch -D after 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.

  • Exact fetched current-main base: 36c7786d3b2d4307a1bea943098a8e86b88a3701.
  • Exact candidate: e516cd9c5cf71910a6d7d46eb06d1b66bf49068c.
  • Branch: fix/material-consequence-ownership, following CONTRIBUTING's type/description convention.
  • Initial worktree was clean; no unrelated work existed. Scope: three files, 24 added lines.

Responsibility placement and changed files

File Semantic change
roles/planning.md Primary semantic owner: identify actual material consequences, apply the three dispositions, preserve responsible owner and durable work-record identity for deferral, accept existing records, and reject vague future intent. Orphaned deferral makes completion premature without expanding current scope.
handoffs/return-of-control.md Evidence surface: use the existing Follow-up field for outside-scope disposition, deferred owner/work identity, or inapplicability rationale. Links to Planning for the rule.
workflows/reviewed-change.md Three-line guard at the cross-role Return step requires handled, explicitly inapplicable, or durably owned consequences and links to Planning.

The 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

Case Evidence and result
A — handled here A decision requires documentation and the same bounded work updates the owning documentation. Planning's first disposition applies: handled here, no separate follow-up. PASS.
B — bounded deferral with owner A material downstream reconciliation remains outside scope; an existing durable project work item identifies its responsible owner. Preserve that owner and record in Follow-up. The rule accepts existing records and bounded separation; completion may proceed subject to other contract conditions. PASS.
C — orphaned deferral A material consequence has only “later” or “separate work,” with no durable owner. Planning explicitly rejects those labels as ownership and declares completion premature. Returning the label does not satisfy the completion guard. PASS.
D — speculative possibility A conceivable future concern has no current evidence/material consequence. Planning excludes speculative, unsupported, or immaterial possibilities from disposition records and follow-up work; no ticket or completion block is required. PASS.

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

Require material consequences created by the work to be handled, explicitly inapplicable, or durably owned before governed work is declared complete, without creating follow-up work for speculative or immaterial possibilities.

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..base delta 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

  • Full .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.
  • Standalone python3 scripts/validate_local.py: PASS.
  • python3 -m unittest discover -s tests: PASS, five tests.
  • git diff --check and git diff --cached --check: PASS.
  • npm audit: PASS, zero vulnerabilities.
  • Node v24.18.1; Python 3.14.6. Validated staged content committed unchanged; clean worktree after commit.
  • Preservation comparisons and A/B/C/D walkthroughs passed as described above.
  • Hosted Repository validation: final SUCCESS on exact candidate 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

Consequence Disposition and evidence/owner
Canonical completion guidance and retained evidence Handled here: Planning rule, Return of Control guidance, and composition guard in this candidate.
Consumer compatibility Handled here: deliberate-update guidance above for all three copied surfaces; unchanged table shape and existing instances. No concrete mandatory downstream migration has been identified.
Release-note interpretation Handled here: proposed summary, compatibility explanation, and all three carried-forward summaries retained in this PR. Future release curation consumes this record under MAINTAINING when a release is actually authorized.
repo-template applicability Inapplicable to this change: the defect is reusable workflow reasoning/evidence, owned here, not generic repository mechanics. Existing repo-template #53 concerns #19's GitHub closure guidance and is now CLOSED; it is not used as an open owner for #17. No new generic defect or required repo-template reconciliation was identified.
Standards Templates applicability Inapplicable: this is selected workflow-local practice, not a new organization-neutral requirement or discovered defect in a governing standard. No Standards Templates edit/adoption obligation identified.
Source-pin impact Inapplicable: source-derived sections and GOVERNING-SOURCES.md are unchanged; no pin advance is needed for this local refinement.
Issue/publication semantics Inapplicable as a change: existing closure and publication rules are preserved. #17's outstanding review and authorization conditions are retained below.
New downstream reconciliation need Inapplicable on available evidence: no specific consumer adoption contract, broken integration, configuration change, or mandatory migration was created. Consumer update implications are documented here; hypothetical adopters do not require tickets.
Remaining #17 review/publication prerequisites Durably owned in Issue #17 and this PR: Planning / Primary Author owns exact-candidate assessment and routing required independent review; actual Publication follows only after its authorization and final closure declaration. These remain substantive prerequisites to issue completion.

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 e516cd9c5cf71910a6d7d46eb06d1b66bf49068c against base 36c7786d3b2d4307a1bea943098a8e86b88a3701 and 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.

@jamesreimer
jamesreimer merged commit 417e212 into main Oct 1, 2026
1 check passed
@jamesreimer
jamesreimer deleted the fix/material-consequence-ownership branch October 1, 2026 05:10
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.

require ownership of material consequences before completion

1 participant