iOS live-lane retry policy (from #3336 review): scope re-issue to declared reads, count absorbed misses, build wire-shape fixtures
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- ios, typescript
Direção de pesquisa
Start with test/integration/ios-simulator-e2e/live-harness.ts and trace how runStep sets the re-issue predicate; read resolveCommandRecordingEffect to identify the declared read effect. Then inspect runtime.ts and test/integration/ios-simulator-e2e-step-retry-policy.test.ts, including waitFailure(), for the miss-counting and fixture work. Done when retries are limited to observing steps, absorbed misses are countable, and fixtures reflect the wire response.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Why
Three follow-up notes from the human review of #3336 (reviewer comment 2026-10-08T22:38:43Z; the lane-policy layer shipped there is row 8's subject matter in #2491). None blocks the PR; all three outlive it, so they live here instead of a comment thread.
Scope
- Scope the re-issue predicate to declared reads.
runStepintest/integration/ios-simulator-e2e/live-harness.tsattachesisObservationPreventedStepMissto EVERY iOS step. Areplaystep's failure response is the failed step's OWN wire response passed through verbatim (readLastResponse()inpackages/replay-port/src/daemon-port/native-command.ts), so a nested wait'sretriable: true+details.reasonhoists to the top level and could re-run a whole script after earlier mutating steps. Today that is benign (every lane replay starts withopen --relaunchor launchApp clearState), and it cannot stack with thetestsuite's--retries: a scheduler-level suite failure is built aserrorResponse(code, message)withoutdetails/retriable(packages/replay-port/src/daemon-port/test-command.ts), and a completed-with-failures suite returns ok:true counts the harness asserts itself. The scoping rule the reviewer proposed: re-issue only steps whose command declares the read effect (resolveCommandRecordingEffect(step) === 'observes-app'), so hoisting can never reach a mutating step even after fixture changes. - Make absorbed misses countable. A re-issue that turns a step green records the first failure only inside
step-history.json(runtime.tsrunStep, issue > 1). One stderr line or JUnit annotation keyed on the typed reason (error.details.reason+retriable) would let #2491 count absorbed misses per class instead of grepping step histories. - Build the retry-policy fixtures from the wire, not by hand.
waitFailure()intest/integration/ios-simulator-e2e-step-retry-policy.test.tshand-writes the response shape. It currently matches the recorded payload (run 37356199982: top-levelretriable: true,details.reason: wait_runner_restart_exhausted), but building fixtures vianormalizeErroror a recorded CLI payload keeps them honest if the envelope moves.
Related: #2491, #3336.
- Linguagem predominante
- TypeScript
- Estrelas
- 4.9k
- Forks
- 328
- Merge médio
- 12h 16min
- PRs com merge (30d)
- 538
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de callstack/agent-device
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
callstack/agent-device#3353 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
callstack/agent-device#1869 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 Meio dia Facilidade para iniciantes 42/100
callstack/agent-device#3360 ·
Mantenedores costumam responder em até 1 dia
-
ios: a shutdown under 1 s after close lets the open's runner prewarm boot the simulator againAbertaneeds-triage
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
callstack/agent-device#3359 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
callstack/agent-device#3358 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de callstack/agent-device
Issues semelhantes
-
[Bug]: [MCP/CLI] Bare loopback IP addresses (127.0.0.1:port) and hosts with ports fail to navigate due to erroneous scheme inferenceTalvez já em andamento @alok-108 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
microsoft/playwright#43263 ·
Mantenedores costumam responder em até 1 dia
-
bug priority:medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100
lingdojo/kana-dojo#32018 · 1 comentário · 5 reações ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
paperclipai/paperclip#15751 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
BuilderIO/agent-native#7275 ·
Mantenedores costumam responder em até 1 dia