Cut Implementation -> Handoff: promote Handoff::Content to HandoffContent #1172
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1172
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The Implementation concept calls into the Handoff concept in three places.
CompletionIntake(line 68),MutationCheck(line 28) andRerouteIntake(line 69) all useHandoff::Content.Handoff::Contentis a YAML value object. It refers only toVerdictandPsych. The edge Implementation -> Handoff lies on 20 concept cycles. A top-levelOsSdlc::HandoffContentremoves the edge.This ticket lands before S7 and S4. All three share
lib/os_sdlc/handoff.rb,tests/handoff_test.rborlib/os_sdlc/dispatch/settlement.rb.Reproduce
n/a: structure-wave cut, nothing to reproduce
Approach
Required work:
plugins/os-sdlc/lib/os_sdlc/handoff/content.rbtoplugins/os-sdlc/lib/os_sdlc/handoff_content.rband rename the class toOsSdlc::HandoffContent.plugins/os-sdlc/lib/os_sdlc/handoff/content/malformed_error.rbtoplugins/os-sdlc/lib/os_sdlc/handoff_content/malformed_error.rb(OsSdlc::HandoffContent::MalformedError) andplugins/os-sdlc/lib/os_sdlc/handoff/content/mutation.rbtoplugins/os-sdlc/lib/os_sdlc/handoff_content/mutation.rb(OsSdlc::HandoffContent::Mutation).plugins/os-sdlc/lib/os_sdlc/handoff.rb(lines 21, 25, 36),plugins/os-sdlc/lib/os_sdlc/dispatch/settlement.rb(line 22),plugins/os-sdlc/lib/os_sdlc/implementation/completion_intake.rb,plugins/os-sdlc/lib/os_sdlc/implementation/mutation_check.rb,plugins/os-sdlc/lib/os_sdlc/implementation/reroute_intake.rb— check: absentHandoff::Contentinplugins/os-sdlc/lib/**/*.rbplugins/os-sdlc/tests/handoff/content_test.rbtoplugins/os-sdlc/tests/handoff_content_test.rbandplugins/os-sdlc/tests/handoff/content_reroute_test.rbtoplugins/os-sdlc/tests/handoff_content/reroute_test.rb. Update the constants. Update the other test users:plugins/os-sdlc/tests/handoff_test.rb,plugins/os-sdlc/tests/handoff_latest_test.rb,plugins/os-sdlc/tests/implementation/report_test.rb,plugins/os-sdlc/tests/support/objection_intake_scenario.rb.Acceptance criteria
bin/crc-cycle-edgesruns, then no edge Implementation -> Handoff listsimplementation/completion_intake.rb:68. The same holds forimplementation/mutation_check.rb:28andimplementation/reroute_intake.rb:69.HandoffContent.parse!runs, then it raisesHandoffContent::MalformedErrorwith the same message as before.Owner sketch
ADR-0167 cites
handoff/content.rb(domain objects are Sequel::Model, Data or a plain class). The rule stays true. The path in the ADR becomes stale.Non-goals
Tests that move or change only a constant name follow the code in the same commit (git mv, then update the constant). Delete no test.
Do not simplify
mutation_check.rb:28tohandoff&.content_object&.mutation. Another ticket may do it.Origin
049a7820)VERDICT: CREATE
Work started on branch crc-os-sdlc-run-3 (os-sdlc CRC run 3, structure wave step 1).
Resolution
Done: Promoted Handoff::Content (with MalformedError, Mutation) to top-level OsSdlc::HandoffContent; holders, tests, and handoff-artifact-format.md updated; ledger rows 482-484 record the S8 move.
Evidence:
f5fcc5d1(runner),1630ac1d(staged deletions),073fbfff(ledger); suite 2248 runs 0 failures; rubocop 86 files no offenses; cycle edges 14 -> 11; inward delta 242 -> 242, its 4 new and 4 gone offenses differ only in the constant name (#1174); crc-ledger-check 0 problemsFollow-ups: #1174 (crc-inward-delta does not map renamed constants in offense subjects)