T3 Code explicado: el cliente controla agentes en otra máquina
Leer el código T3 Code: RPC, EventSink y EffectWorker
Tres entradas distinguen autorización, persistencia y ejecución
Qué aprenderás
- Comienza por el contrato
- Inspecciona la transacción
- Termina en el worker
Antes de empezar
- Un proyecto desechable en el entorno servidor
- Un proveedor compatible autenticado
Convierte una prueba desechable en evidencia antes de conectar proyectos importantes
Conclusiones clave
- RPC tipado no significa RPC autorizado.
- EventSink mantiene intención y proyección coherentes.
- Checkpoint no equivale a commit de rama.
Comienza por el contrato
`packages/contracts/src/rpc.ts` define comandos, consultas y suscripciones de la frontera cliente-servidor. Verifica carga útil y capacidades anunciadas antes de seguir una función nueva.
Que los tipos TypeScript encajen no autoriza nada. La documentación de autenticación indica que cada RPC declara un scope y un middleware servidor lo comprueba antes del handler.
Inspecciona la transacción
`apps/server/src/orchestration-v2/EventSink.ts` guarda recibos, eventos, proyecciones y outbox juntos. El orquestador toma decisiones sin trabajo externo de proveedor ni archivos.
Para investigar un comando, sigue decisión, sink y efecto posterior. Reintentos y reproducción de eventos antiguos importan porque el entorno conserva historial entre versiones.
Termina en el worker
`EffectWorker.ts` ejecuta efectos ya confirmados y devuelve resultados. `CheckpointStore.ts` usa referencias Git ocultas para guardar estado sin sumar commits a la rama del usuario.
Revertir un checkpoint exige coordinar la conversación del proveedor; si no admite rollback, debe rechazarse antes de tocar archivos. Esta revisión no ejecutó checkpoints ni simuló fallos del worker.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Busca contrato RPC y scope requerido.
- 2
Sigue un recibo por EventSink y outbox.
- 3
Observa un efecto y su recuperación.
Ejemplo para copiar
rpc.ts -> control scope -> Orchestrator.ts
EventSink.ts -> evento + recibo + outbox
EffectWorker.ts -> efecto -> resultadoPreguntas frecuentes
¿La referencia Git oculta cambia mi historial?
La ruta documentada captura estado sin añadir un commit a la rama del usuario.
¿Se probó un fallo del worker?
No. Solo se recorrieron archivos fijados.
Fuentes
- T3 Code / packages/contracts/src/rpc.tsFuente verificada 2026-10-04
- T3 Code / docs/internals/environment-auth.mdFuente verificada 2026-10-04
- T3 Code / apps/server/src/orchestration-v2/Orchestrator.tsFuente verificada 2026-10-04
- T3 Code / apps/server/src/orchestration-v2/EventSink.tsFuente verificada 2026-10-04
- T3 Code / apps/server/src/orchestration-v2/EffectWorker.tsFuente verificada 2026-10-04
- T3 Code / apps/server/src/checkpointing/CheckpointStore.tsFuente verificada 2026-10-04