You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix\(pr-pipeline\): align every needs-human path with the owner stop rule - part 1 of 6 #11019
Part 1 of 6 of #10517, split at intake (owner Q93). The done-when below is copied from #10517 as written.
Done when
Cost holds: intake triage's COST rule (cost flag + needs-human) and merge-holds.mjscostHold as a person reason in enable-auto-merge and babysit_risk.person_reasons (in progress: poteto's fix/cost-hold-real-charges-only).
Intake admission's charge words and pr-merge costHold hold only for a charge that README:331 names. A test shows that text naming model usage on the subscription login (for example "runs on the subscription login") is not held, and that a plan or seat change, or a paid subscription purchase, still is.
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Medium
Complexity: Medium
Uncertainty: Knowable
Flags: none
Blocked by: none
Decision recorded. The admission charge hold on this issue is a false positive (#11019 (comment)). The work adds no charge. It aligns the cost holds with the owner's own cost definition, quoted verbatim in docs/conventions/loop-lane/README.md:331-338, and model usage on the subscription login is "Not cost, so spend it freely". The words that tripped the rule ("subscription", "seat") are test examples: one of something that must not be held, and one of something that still is.
This is the very defect part 2 fixes. Admission reads only the title and body (.github/scripts/intake-triage/admit.mjs:971), and it drops inline code spans first (plugins/work-items/scripts/charge-words.json, code).
[quote truncated; the full decision is at the link] #11019 (comment)
The decision settles the open questions: the charge hold was a false positive, and the lane checks the remaining cost-hold work (intake's COST rule, and costHold as a person reason in enable-auto-merge and person_reasons) against main. Parts 2 to 6 (#11020 to #11024) are sibling splits of #10517, not duplicates.
Not admitted to the issue lane: its title or body names a charge (subscription, seat), which needs an owner decision. Admission takes the issue once each of those is met, when intake triages it again (.github/actions/resolve-config/admission-rules.json).
Decision recorded. The admission charge hold on this issue is a false positive (#11019 (comment)). The work adds no charge. It aligns the cost holds with the owner's own cost definition, quoted verbatim in docs/conventions/loop-lane/README.md:331-338, and model usage on the subscription login is "Not cost, so spend it freely". The words that tripped the rule ("subscription", "seat") are test examples: one of something that must not be held, and one of something that still is.
This is the very defect part 2 fixes. Admission reads only the title and body (.github/scripts/intake-triage/admit.mjs:971), and it drops inline code spans first (plugins/work-items/scripts/charge-words.json, code). So the example phrases in the body go in code spans: runs on the subscription login, plan or seat change, paid subscription purchase. The issue then goes back through intake. No criterion changes meaning.
Part of criterion 1 has landed on main: the babysit cost hold holds only a real new charge (f9c2695, #10525; d695a5a, #10866). The branch named in the body is not on the remote. The lane checks what is left (intake's COST rule, and costHold as a person reason in enable-auto-merge and person_reasons) against main and does only that.
Intake admission's charge words and pr-merge costHold hold only for a charge that docs/conventions/loop-lane/README.md:336 names. A test shows that text naming model usage on the subscription login (for example runs on the subscription login) is not held, and that a plan or seat change, or a paid subscription purchase, still is. (body, amended: the example phrases are now in code spans so admission's charge-word check skips them, and the README path is written out in full)
Activity
github-actions commentedon Oct 29, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Medium
Complexity: Medium
Uncertainty: Knowable
Flags: none
Blocked by: none
The decision settles the open questions: the charge hold was a false positive, and the lane checks the remaining cost-hold work (intake's COST rule, and
costHoldas a person reason in enable-auto-merge andperson_reasons) against main. Parts 2 to 6 (#11020 to #11024) are sibling splits of #10517, not duplicates.Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Oct 29, 2026
Not admitted to the issue lane: its title or body names a charge (subscription, seat), which needs an owner decision. Admission takes the issue once each of those is met, when intake triages it again (
.github/actions/resolve-config/admission-rules.json).melodic-automation-lanes commentedon Oct 29, 2026
The latest triage verdict holds nothing: admission moved the issue to
status: needs-decision; its comment says why.kyle-sexton commentedon Oct 29, 2026
Decision recorded. The admission charge hold on this issue is a false positive (#11019 (comment)). The work adds no charge. It aligns the cost holds with the owner's own cost definition, quoted verbatim in
docs/conventions/loop-lane/README.md:331-338, and model usage on the subscription login is "Not cost, so spend it freely". The words that tripped the rule ("subscription", "seat") are test examples: one of something that must not be held, and one of something that still is.This is the very defect part 2 fixes. Admission reads only the title and body (
.github/scripts/intake-triage/admit.mjs:971), and it drops inline code spans first (plugins/work-items/scripts/charge-words.json,code). So the example phrases in the body go in code spans:runs on the subscription login,plan or seat change,paid subscription purchase. The issue then goes back through intake. No criterion changes meaning.Part of criterion 1 has landed on main: the babysit cost hold holds only a real new charge (f9c2695, #10525; d695a5a, #10866). The branch named in the body is not on the remote. The lane checks what is left (intake's COST rule, and
costHoldas a person reason in enable-auto-merge andperson_reasons) against main and does only that.costflag + needs-human) andmerge-holds.mjscostHoldas a person reason in enable-auto-merge andbabysit_risk.person_reasons. (body, amended: the "in progress" note is dropped because the babysit side landed in fix(babysit-prs): hold cost only for a real new charge #10525/fix(source-control): stop holding non-billing model and timeout changes as cost #10866, and the lane does what main still lacks)costHoldhold only for a charge thatdocs/conventions/loop-lane/README.md:336names. A test shows that text naming model usage on the subscription login (for exampleruns on the subscription login) is not held, and that aplan or seat change, or apaid subscription purchase, still is. (body, amended: the example phrases are now in code spans so admission's charge-word check skips them, and the README path is written out in full)