Repository navigation
Queue-flake anchor: test/verify-host-root.test.ts #22488
Description
Activity
objectstack-fleet commented
on Oct 9, 2026 ContributorMore actionsTriage: not a flake. A semantic conflict in the root PR #22215.
priority:p1·domain:spec·target:v18·area:devpath·pm:blocked(findingremoved)Triage seat (objectstack-wide, seat post #6015) ·
session_01AavokzJ5DndAwitDXvKy4U· 2026-10-09T13:09Z. ⛔ Not a claim, ⛔ not a dispatch.The reason line (queue build 37930835817, job
Test Core (2/6), read from the log):- the failing check is
os verify anchors the app at its own directory, not the process cwd (#22301), withAssertionError: … expected 1 to be +0; - verify printed:
✗ package 'com.example.verify-host-root' targets protocol ^17 (engines.protocol) but this runtime is protocol 18.0.0 … Run: objectstack migrate meta --from 17.
That is a product refusal, not a timing cliff.
The cause:
packages/cli/test/verify-host-root.test.ts:56declaresengines: { protocol: '^17' }. It landed onmainat 2026-10-09T12:26Z with PR feat(core,cli,verify): bootStack composes what serve composes — item 1 stage 2 of #22301 (HELD at stop conditions) #22381 (97610a5339, verify: the in-process handle boots a leaner stack thanserveand has no door for eight things an app's tests need (requires[] capabilities, system/predicate update, the form door, user-less triggers, …), measured by hotcrm#2013 #22301 item 1 stage 2).- PR feat(spec)!: PROTOCOL_VERSION 17 → 18 in an ordinary PR — regenerated spec-changes.json and upgrade guide, ^18 handshakes, pre-mode lockstep exception (#22085 Q1 → B) #22215 (spec(v18): move PROTOCOL_VERSION 17 → 18 in an ordinary pull request with full CI: regenerate spec-changes.json and the 17 → 18 upgrade-guide section, rewrite the in-repo ^17 handshakes, and give the lockstep test one pre-mode exception (#22085 Q1) #22130) moves the runtime to protocol 18 and refuses a
^17manifest. Its sweep moved the other fixtures to^18, but its head3b97df5a7fstill reads^17at that line.
So the root (
S1 · root) is #22215 itself, and PR #22465's row is an inherited bystander. A re-queue cannot fix it.The fix rides PR #22215, as one more fixture in its own sweep:
verify-host-root.test.ts:56→'^18'.- ⛔ No skip, and ⛔ no change to the test's assertion.
- Before re-queuing, re-grep
mainforengines: { protocol: '^17' }added since the PR's last sync, so the next queue build does not find another one.
Why p1: PR #22215 is the first of #22085's two v18 release events (「发版本优先的都p1」). It has been ejected 3 times in 24 h by this queue's own count.
State:
pm:blockedon spec(v18): move PROTOCOL_VERSION 17 → 18 in an ordinary pull request with full CI: regenerate spec-changes.json and the 17 → 18 upgrade-guide section, rewrite the in-repo ^17 handshakes, and give the lockstep test one pre-mode exception (#22085 Q1) #22130. The fix lives in that card's in-flight PR; this anchor gets no dispatch of its own.- Blocked-by: spec(v18): move PROTOCOL_VERSION 17 → 18 in an ordinary pull request with full CI: regenerate spec-changes.json and the 17 → 18 upgrade-guide section, rewrite the in-repo ^17 handshakes, and give the lockstep test one pre-mode exception (#22085 Q1) #22130
- When PR feat(spec)!: PROTOCOL_VERSION 17 → 18 in an ordinary PR — regenerated spec-changes.json and upgrade guide, ^18 handshakes, pre-mode lockstep exception (#22085 Q1 → B) #22215 lands green, this anchor closes
completed, naming the fixture commit. - I left the body alone, because the workflow refreshes it. The line above is in this comment for that reason.
- the failing check is
- addedarea:devpathThe road — create, dev, verify, publish/install, connect an agent, iterateThe road — create, dev, verify, publish/install, connect an agent, iteratepriority:p1High: required for production / M2High: required for production / M2and removed
on Oct 9, 2026 objectstack-fleet commented
on Oct 9, 2026 ContributorMore actionsobjectstack-fleet commented
on Oct 9, 2026 ContributorMore actionsClosed: completed ·
domain:specseat 1 (#6017) ·os-tesla· sessionsession_01VZqqwTj2wsihZEbfT6yyYN· 2026-10-09T17:07Z.Blocked-by: #22130is closed.- Triage's diagnosis
6081539598held: a semantic conflict, not a flake. PR feat(core,cli,verify): bootStack composes what serve composes — item 1 stage 2 of #22301 (HELD at stop conditions) #22381 addedverify-host-root.test.tswith a fixture declaring^17, and PR feat(spec)!: PROTOCOL_VERSION 17 → 18 in an ordinary PR — regenerated spec-changes.json and upgrade guide, ^18 handshakes, pre-mode lockstep exception (#22085 Q1 → B) #22215 moved the protocol to 18. - PR feat(spec)!: PROTOCOL_VERSION 17 → 18 in an ordinary PR — regenerated spec-changes.json and upgrade guide, ^18 handshakes, pre-mode lockstep exception (#22085 Q1 → B) #22215's round 12 moved that fixture to
^18(5159d64866): red before the move, green after. - PR feat(spec)!: PROTOCOL_VERSION 17 → 18 in an ordinary PR — regenerated spec-changes.json and upgrade guide, ^18 handshakes, pre-mode lockstep exception (#22085 Q1 → B) #22215 landed through the merge queue as
4e9fe9ff6a, sotest/verify-host-root.test.tsis green onmain(landing record6085574330on spec(v18): move PROTOCOL_VERSION 17 → 18 in an ordinary pull request with full CI: regenerate spec-changes.json and the 17 → 18 upgrade-guide section, rewrite the in-repo ^17 handshakes, and give the lockstep test one pre-mode exception (#22085 Q1) #22130). - No test was skipped, quarantined or re-queued. This act removes
pm:blocked.
- Triage's diagnosis
test/verify-host-root.test.tshas ejected 2 pull requests from the mergequeue within a rolling 24 hours — 1 independent hit once
GitHub's speculative stacking is accounted for. This issue is the single place for
that conversation; it is refreshed by the merge-queue-triage workflow on every
further ejection.
stackcolumn is read out of the queuebranch names: GitHub builds each queued PR on top of the previous entry, so a
build whose BASE commit IS another victim's queue HEAD contains that victim's
tree by construction. A single deterministic break therefore ejects every PR
behind it, and the raw victim count climbs with QUEUE DEPTH until the owner
lands a fix. Start with the root above; an
inheritedrow is a bystander until shown otherwise.This issue is a NAME, not a diagnosis. The workflow that files it reads the
failing test file path out of the job logs and counts PRs; it does not
know whether this is a flake, a load/timing cliff, a semantic conflict between
queued PRs, or a real regression, and it does not act on any of those. No test is
skipped, quarantined or re-queued by it, and no PR is labelled by it — weakening
a gate stays a human act.
What to do with it: read one victim PR's triage comment for the failure REASON
line beside the FAIL line (a timeout and an assertion are the same FAIL line and
opposite diagnoses), decide the cause, and close this issue with the fix or with
the reason it is not one.
Last refreshed by queue build 37931072987 (PR #22465).
Filed by the merge-queue-triage workflow (#4859, aggregation #10128).