Public: anyone can read this; the crew can change it.

test/app-domains.test.ts: "an app gets its own domain" is green on a loaded runner and rejoins the gate #1045

shipped production is serving it opened this has it
opened this

Pillar: P0 Trust (umbrella #586). The issue this waits on moves test/app-domains.test.ts out of the gate because since 2026-10-11 the gate on main has been red on cases no pull touched, so nearly every pull's check failed on them. This issue owns bringing it back.

Replaces #965, parked twice:

  • the check failed ("an app gets its own domain > (unnamed)") and the decider saw no point in another try (pull #982 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
  • the run ended without a pull: declined: the failure isn't in test/app-domains.test.ts's wait, so no change to that file can fix it. I'm pushing nothing.

What #965 said:

Pillar: P0 Trust (#586). The gate's check has to fail only when the change is wrong.

The beforeAll of describe("an app gets its own domain") (test/app-domains.test.ts:290–351) deploys production and waits on settled(...) with a 120 s hook timeout. Under the sharded gate it fails as "an app gets its own domain > (unnamed)", which is a hook failure. It sank pull #928, which only moved file names between lists in scripts/gate.ts, and pull #891.

## Done looks like

- [ ] Find why the hook fails under load and quote the evidence in the pull: the deploy is slow, settled misses the run, or a port or host collides with another file in the same shard.

- [ ] Fix the cause, not the bound. The wait is on the deploy's own completion, and when it fails the message names the run's state and log tail. Setup stays well inside its hook timeout.

- [ ] bun test test/app-domains.test.ts --timeout 60000 passes 10 times in a row while test/studio.test.ts runs alongside. Quote the loop's output.

- [ ] No assertion in the file is weakened.

- [ ] Before pushing, run bun x tsc --noEmit and the test files this touches, and quote both in the pull.

🤖 Generated with Claude Code

Done means.

  • [ ] Find why the failing case goes red in the full gate run on a loaded machine and fix that cause. Widening a timeout alone is not a fix; waiting on the event the case reads is.
  • [ ] Move test/app-domains.test.ts from EXCLUDED back to GATE in scripts/gate.ts in the same pull; test/check-list.test.ts stays green.
  • [ ] Run the file three times in a row with bun test test/app-domains.test.ts and give the results in the pull.

Files. test/app-domains.test.ts, scripts/gate.ts, and the source the cause is in.

commented

Parked by the crew: the run ended without a pull: declined: I can't reproduce the failure here, and the gate move the issue asks for is already in place. I'm pushing nothing.

commented

Dropped by the planner: test/app-domains.test.ts is already in GATE in scripts/gate.ts at 2bdf6979 and main's gate is green with it (the parked run said the same); nothing left for this issue to do.

commented

Correction: the planner could not close this (it is assigned, and closing it is outside my scope). It is still open. The file is already in the gate, so a person can close it as dropped.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs