No iOS, digite um prompt multi-linha, coloque o aplicativo em segundo plano antes de enviar, retorne a outro trabalho e encontre uma execução limitada por uso. Dois diferentes promessas estão agora sendo testadas: o rascunho não enviado deve ser recuperado no contexto correto, enquanto uma execução enviada deve ser reanudada do estado autoritário da tarefa.
Os relatórios de lançamento da OpenAI são a última sinalização oficial e verificada para este artigo. As entradas de 20 de julho descrevem o histórico de tarefas do iOS no formato Mermaid, formulários interativos, recuperação de prompts não enviados entre tarefas/hospedeiros/áreas de trabalho e a reanulação de objetivos em execuções bloqueadas ou limitadas por uso. A disponibilidade deve ser tratada exatamente como estes relatórios descrevem. Este é um plano de teste baseado em fonte, não uma evidência prática, e as afirmações secundárias não verificadas de 27 de julho são rejeitadas.
Separar rascunho local da execução remota
rascunho não enviado: texto do dispositivo + chave de contexto + ciclo de vida local
execução enviada: ID da tarefa no servidor + revisão + estado bloqueado/reanudável
Nunca transforme um texto de rascunho recuperado em uma submissão automática. Nunca trate a marcação de tempo local do rascunho como prova de que o trabalho remoto continuou.
Um registro de teste deve capturar:
dispositivo: modelo-exato-de-registro
os: versão-iOS-exata-do-registro
app_build: construção-exata-do-registro
rede: wifi-ou-celular-ou-offline
energia: normal-ou-baixa-energia
start_context:
tarefa: tarefa-A
host: host-1
workspace: workspace-vermelho
transição: background-então-mudar-workspace
esperado: rascunho-permanece-vinculado-ao-contexto-original
observado: não-executado
Matriz de vida
| Caso | Estado inicial | Transição | Verificação esperada | Situação insegura |
|---|---|---|---|---|
| D1 | prompt não enviado | fundo/principal | texto e cursor se recuperam | rascunho desaparece silenciosamente |
| D2 | prompt não enviado em A | mudança para tarefa B | nenhuma fuga de texto para B | solicitação mostrada na tarefa errada |
| D3 | prompt não enviado | mudança de host/workspace | vinculação explícita ou aviso | envio acidental em contexto diferente |
| R1 | solicitação ativa enviada | app encerrado | Status do servidor se reconcilia | submissão duplicada |
| R2 | solicitação com limitação de uso | limite é removido mais tarde | objetivo continua conforme documentado | reinício a partir de entrada antiga |
| R3 | solicitação bloqueada | mudança em pré-requisitos | usuário vê evidências alteradas | resumo silencioso com aprovação antiga |
| N1 | qualquer estado | retorno offline | rascunho local legível; remoto desconhecido | Status falso de “completo” |
Para formulários, teste o foco, a desativação do teclado, valores parciais e erros. Para Mermaid, verifique as alternativas em texto e o zoom; os relatórios de lançamento não comprovam acessibilidade.
Proposta de Seam XCTest
Use fakes antes de uma conta real. Defina DraftKey a partir das IDs da tarefa, do host e do workspace; faça RunStatusSource retornar estados ativos, bloqueados ou completos com versão.
Um teste local pode afirmar que DraftKey(tarefaA, host1, vermelho) nunca popula tarefa B. Uma fonte de status falsa pode retornar .bloqueado(revisão: 4) antes da morte do processo e .ativo(revisão: 5) após o reinício; a interface deve se reconciliar em vez de enviar novamente.
Caminho normal: o backgrounding preserva o rascunho não enviado sob a chave exata do contexto. Uma vez que o usuário envia, o app limpa esse rascunho apenas depois de receber uma identidade da tarefa e as subsequentes inicializações recuperam o status da solicitação.
Caminho de falha: a área de trabalho muda enquanto um rascunho está presente. O compositor se torna somente leitura, rotula o contexto original e oferece “retornar” ou “descartar”; a ação principal de envio permanece desabilitada. Para uma execução bloqueada cuja revisão mudou, invalidar qualquer aprovação antiga antes da retomada.
Medidas
Conte a recuperação por transição, rascunhos com contexto errado, IDs de tarefa duplicadas, resumos estalados e tempo para status autoritário. Registre o dispositivo, SO, build, rede, modo de energia e passos exatos; invente nenhuma valor de bateria ou latência.
Porta de lançamento
- Rascunhos usam tarefa, host e identidade da área de trabalho juntos.
- A recuperação nunca envia automaticamente texto ou retoma a autoridade silenciosamente.
- Tarefas enviadas usam IDs de servidor estáveis e chaves idempotentes.
- UI offline distingue texto em cache do verdadeiro remoto.
- A retomada bloqueada/limitada por uso revalida a revisão e pré-requisitos.
- Formulários interativos sobrevivem ao teclado, interrupção e falha de validação.
- O conteúdo Mermaid tem uma representação não visual usável.
- A disponibilidade da conta é verificada contra notas oficiais atuais.
Limites: esta matriz não afirma que o comportamento do iOS da OpenAI foi executado, define seu armazenamento interno ou garante semânticas trans-devices. A evicção de SO, política de dispositivos gerenciados, disponibilidade do provedor e atualizações de aplicativo podem alterar os resultados.
Aplicar a matriz antes de tentar outra plataforma
O MonkeyCode é descrito separadamente como uma plataforma de desenvolvimento AI open-source AGPL-3.0 oferecendo uma opção online internacional, ambientes de desenvolvimento em nuvem gerenciados no lado do servidor, gerenciamento de modelos/tarefas/requsitos e build/teste/prévia, gratuito para começar. Não executei esses casos iOS contra ele. A avaliação responsável é usar a rota oficial da campanha e preservar o registro do ambiente, casos de falha e regra sem retomada automática.
Divulgação: Este artigo promove o MonkeyCode usando um link oficial da campanha. Sou usuário do MonkeyCode, não estou afiliado ao projeto e não recebo comissão por este link.
Declaração de assistência AI: Este artigo foi redigido com a ajuda de IA e revisado contra as fontes primárias citadas.

