dirección del productoDiseñado para que el agente pilote
El modelo de producto coloca los hooks y skills del harness en la entrada para que el propio agente invoque el protocolo, siga el run y retome con contexto.
Orquestación duradera pilotada por el agente
Pajé fue diseñado para que el propio agente lo pilote mediante hooks y skills del harness. Convierte cada cambio en un workflow verificable y neutral respecto al lenguaje del repositorio: contexto adecuado, ejecución aislada, aprobación humana y publicación idempotente.
sha256:8d7a4e...bf31El agente pilota. Pajé sostiene.
El harness preserva la autonomía del agente; Pajé ofrece un contrato predecible para los efectos. Hooks y skills son la superficie de integración prevista. Cada acción deja evidencia y cada retry sabe desde dónde continuar.
dirección del productoEl modelo de producto coloca los hooks y skills del harness en la entrada para que el propio agente invoque el protocolo, siga el run y retome con contexto.
cualquier stackLos workflows son neutrales respecto al lenguaje del repositorio. Pajé está implementado en Go, pero posicionarlo como Go-native es irrelevante; el profile generic ejecuta checks estructurados para cualquier stack disponible en la imagen del worker.
restart-safeCada fase persiste su estado. Los retries retoman el trabajo correcto sin volver a lanzar el agente ni duplicar efectos.
adaptador Mem0El agente recibe contexto relevante por usuario y aplicación. Las credenciales del worker quedan fuera de la ejecución.
content-addressedPatch, salida, verificaciones y preflight se convierten en un bundle inmutable autenticado por SHA-256.
artifact-boundLa decisión humana vale para un run y un digest exactos. Si cambia el artefacto, la aprobación deja de ser válida.
idempotenteBranch, commit y pull request se reutilizan solo cuando coinciden todos los vínculos. Sin force-push.
Codex primeroCodex es el primer harness soportado. La frontera de ejecución está diseñada para incorporar otros harnesses en el futuro sin cambiar el protocolo duradero.
code-change@v1
El agente inicia y sigue el trabajo mediante la integración del harness. Hatchet gestiona la cola, los retries y las señales; Pajé se ocupa del contrato: estado, contexto, artefactos, política y publicación.
Resolve
Valida la entrada, reserva la clave de idempotencia y resuelve el ref a un commit inmutable.
Execute
Prepara un worktree aislado, recupera memoria, ejecuta el agente y verifica cada módulo seleccionado.
Approval
Se pausa de forma duradera y espera una aprobación vinculada al digest exacto del artefacto.
Publish
Reaplica y vuelve a verificar el bundle antes de crear o reutilizar un draft PR determinista.
Finalize
Guarda un único resultado en la memoria y devuelve referencias duraderas para auditoría.
Guía rápida
La beta es un worker self-hosted. Codex es el primer harness; el protocolo fue diseñado para incorporar otros en el futuro.
Requisitos previos
Go 1.26+ solo es necesario para desarrollar Pajé, que está implementado en Go; posicionarlo como Go-native es irrelevante. El repositorio atendido puede usar cualquier lenguaje: incluye su toolchain en la imagen del worker. Para la beta, prepara Docker, Helm 3, Hatchet y la autenticación de Codex.
Instalación
Construye la imagen con una revisión auditable y aplica el chart después de configurar Secrets separados.
bashgit clone https://github.com/araihu/paje.git
cd paje
PAJE_COMMIT="$(git rev-parse --verify 'HEAD^{commit}')"
docker build \
--build-arg CODEX_VERSION=0.144.5 \
--build-arg PAJE_COMMIT="$PAJE_COMMIT" \
-t ghcr.io/your-org/paje:beta .
helm upgrade --install paje ./charts/paje \
--namespace paje --create-namespace \
--values values.production.yamlPrimera ejecución
Hoy, inicia paje-code-change-v1 en Hatchet. La integración prevista llevará este trigger a los hooks y skills del harness. Usa profile: generic con checks explícitos y el toolchain presente en la imagen. El profile go solo facilita el descubrimiento de módulos y los defaults de pruebas.
json{
"run_id": "73f659b2-eaee-4c37-8784-48fab274b3e8",
"input": {
"idempotency_key": "client-timeout-20260725",
"task_description": "Aumenta el timeout del cliente y actualiza las pruebas.",
"repository_uri": "https://github.com/example/service.git",
"base_ref": "main",
"memory_query": "convenciones del cliente HTTP",
"memory_limit": 5,
"tags": {
"user_id": "operator@example.com",
"app_id": "service"
},
"profile": "generic",
"checks": [
{
"name": "test",
"executable": "npm",
"args": [
"test"
],
"timeout": "10m",
"required": true
}
],
"publication": {
"mode": "artifact"
}
}
}Publicación
Para crear un draft PR, usa publication.mode: pull_request. La fase de aprobación espera el evento paje:approval:<run-id> con el mismo run y digest. Si algo cambia, la decisión no se reutiliza.
Seguridad mediante fronteras
Las credenciales de Hatchet, Mem0 y GitHub no entran en el entorno del agente. La publicación ocurre en un repositorio bare nuevo y confiable después de verificar el código controlado por el repositorio.
Leer garantías y comportamiento ante conflictoscredenciales del servicioDocumentación
01 / Usar
02 / Operar
03 / Desplegar
04 / Entender
Hoy Pajé ofrece el template tipado code-change@v1, el runner de Codex como primer harness, trigger mediante Hatchet, modo artifact o draft PR en GitHub y una única réplica. Los hooks y skills agent-side y otros harnesses serán soportados en el futuro. Merge automático, YAML arbitrario, releases y múltiples réplicas quedan fuera de esta beta.
El agente pilota mediante hooks y skills.
Pajé hace duradero el recorrido.