/develop: scope the per-unit gate to the packages the unit touched #41
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#41
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?
Rank 4 of 13 in #37 · est. saving ~40m
Evidence
Inside
/develop's 257 minutes, 62 (24%) were the lead re-running test suites. The fullpnpm testsuite (~6 min, 4,187 tests at the time) ran after every one of six work units —seven runs including the flake re-run — plus the 21-minute browser sweep.
Timestamps of the full-suite runs (UTC): 11:37–11:42, 12:06–12:11, 13:05–13:11, 13:41–13:47,
13:48–13:53 (re-run to disprove a flake), 14:17–14:23, 15:02–15:08.
Only 160 of the 257 minutes were agents writing tests or code.
What happens now
The per-unit verification step tells the lead to re-run the project's verification commands. In a
monorepo that means the whole workspace, for a unit that touched one package.
Proposed change
Scope the per-unit gate to the package(s) the unit touched, determined from the unit's declared
file boundaries. Keep the full workspace suite for the cross-unit verification at the end of the
phase, which already exists and already provides the integration signal.
This is the vitest half of the same rule as #38 (the Playwright half); they should be
written as one two-tier gate policy rather than two unrelated edits.
Acceptance
develop/SKILL.mdstates the narrow per-unit gate and the wide cross-unit gate separately./meta-amend outcome — amended
Addressed as one two-tier gate policy together with #38, exactly as this issue asked ("they should be written as one two-tier gate policy rather than two unrelated edits"). Commit
7f75154onmain. Full write-up on #38; the vitest half in brief:Verified at HEAD (
7453ac5)develop/SKILL.md's Implementer prompt said "4. Run the full test suite to check for regressions" with a matching checklist row — the whole workspace, for a unit that touched one package. 3.7's cross-unit verification already ran the wide suite, so the per-unit run was re-proving it N times.The amendment
Gate
scripts/lint-conventions.sh— clean.Desk-check against the originating scenario (verity #230)
Six work units, seven full workspace-suite runs (62 of
/develop's 257 minutes were the lead re-running suites). Under the amended text each unit runs only its touched package(s) plus the feature's specs, and the workspace suite runs once, at 3.7 — the acceptance criterion ("a six-unit run executes the full workspace suite once, not seven times") is met, and a two-package unit running both is stated in the text.What validates it next
The next dogfooded feature with 3+ work units in a multi-package workspace. The signal to watch is a unit closing green under the narrow gate and then failing at 3.7 — that would mean the file-boundary scoping is too tight, not that the tiering is wrong.