A fix lands where the finding pointed, not everywhere the rule lives — six measured instances in one sweep #257
Labels
No labels
component:adapters
component:lifecycle
component:qa
component:setup
component:shared
component:worktrees
phase/accepted
phase/backlog
phase/deployed
phase/developing
phase/integrating
phase/planning
phase/qa
phase/requirements
phase/uat
priority:critical
priority:critical
priority:high
priority:high
priority:low
priority:low
priority:medium
priority:medium
type:bug
type:chore
type:docs
type:feature
type:infra
type:tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
jbr870/devwork-skills#257
Loading…
Add table
Add a link
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?
Spawned from finding
F-PO-43-5-15(out-of-scope) on issue #43 during decision D-PO-43-5-9, at the round-1 sweep.Original scope note: CR-2 fixed []-means-could-not-judge for identity classes and workers reproduces it in the same rewrite (CR-33). CR-17 fixed a permissive paraphrase in qa-playbook and CR-12's fix created a new one in the same file 80 lines away (CR-37). CR-4's fix is guarded by a test that proves nothing (CR-31). CR-27 narrowed §8.4 without updating §7 (CR-32). CR-10 added a field §7 never consults and no entry populates (CR-34, CR-36). CR-21 widened §2 without touching §5 or §8 (CR-35). This is the drift AC-14's lint check exists to catch, but that check guards six anchor phrases and nothing else. fix-workflow.md §2's convergence rule is directly on point: a second re-validation finding of the same CLASS as the one just fixed ends the patching, and its two exits are a round explicitly framed at the class, or deferral with the residue recorded — not a third patch pass of the same shape. Raised as a finding rather than acted on, because choosing between those exits is the operator's call.
Disposition rationale: [CR-45] This is a finding about the design, not a defect in it, and acting on it inside the round it indicts would be the error it describes. Six of this sweep's fifteen findings are the round's own fixes landing where the finding pointed rather than everywhere the rule lives. fix-workflow.md section 2's convergence rule is directly on point and offers exactly two exits: a round explicitly framed at the class, or the class deferred with the residue recorded as a Finding. This resolution takes the second exit deliberately and on the operator's instruction, which is what makes the remaining fix-now items a scoped completion rather than a third patch pass. Resolved under the operator's explicit choice of round-2 strategy this session — presented three options (blockers-only, full round, reassess the design) and instructed to proceed with the first — so this follows the recommender rather than overriding it. The recommendation itself is disposition-recommend.sh's, computed from the finding's fix_cost, feature_value, adjacent_to_blocking and category.
This issue was deferred out of the parent feature's scope; it carries no PREQ yet. Run
/dev:requirements --issue={new-number}to flesh it out before planning.Folded in from the round-3 QA sweep on issue #43 (Phase Outcome PO-43-7).
Measured by an executing adversarial reviewer, not inferred. Deferral rationales are on #43 as
decision-resolution:v1comments.[code CR-64] CR-47's regression scenario is vocabulary-coupled only: it detects a missing verdict word, not a wrong disposition.
Severity: low
Measured: rewriting step 4's budget line to 'ignore budget entries entirely; they never affect triage' — semantics inverted, the word budget retained — leaves scenario_cr47_step4_lacks_verdict_branch PASSING, suite rc=0. The fix report already conceded word-presence cannot check disposition, and the driver read step 4 in full for exactly that reason. Recording the measurement so the limit is on the record rather than in a reviewer's memory: the class's only mechanical guard sees vocabulary drift and not disposition drift — which is precisely what CR-58 is.
Proposed action: Record as a known limit; strengthening it is a design question for #257.
Linked: this issue is sibling #452 (recorded by the devwork pipeline).