iOS live-lane retry policy (from #3336 review): scope re-issue to declared reads, count absorbed misses, build wire-shape fixtures
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- ios, typescript
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 5.1k
- Forks
- 339
- Merge moyen
- 12 h 50 min
- PR mergées (30 j)
- 632
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de callstack/agent-device
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
callstack/agent-device#3945 ·
Les mainteneurs répondent en général sous 1 jour
-
Limrun iOS fill reports success but drops non-ASCII textPeut-être pris @mvanhorn l’a pris il y a 4 jours. Ouvertebug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 87/100
callstack/agent-device#3819 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
callstack/agent-device#1869 ·
Les mainteneurs répondent en général sous 1 jour
-
iOS keyboard capture can race dismissal and omit the input assistant barPeut-être pris @shamilovtim l’a pris aujourd’hui. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 51/100
callstack/agent-device#3957 ·
Les mainteneurs répondent en général sous 1 jour
-
iOS fill can report TEXT_ENTRY_MISMATCH before the confirmation deadlinePeut-être pris @shamilovtim l’a pris aujourd’hui. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
callstack/agent-device#3952 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de callstack/agent-device
Issues similaires
-
a10y a10y-audit ai-driven-qa claude
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
linagora/twake-directory-manager#219 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
Les mainteneurs répondent en général sous 1 jour
-
0️⃣ phase/new
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Pulse v7: buildPreferencesFromTelos() bypasses telosSectionOrFile(), renders empty on unified-TELOS installsPeut-être pris @zephyr91 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
danielmiessler/LifeOS#2393 ·
Les mainteneurs répondent en général sous 4 jours