FirstMate: equipos de agentes, evidencia duradera y autoridad de entrega
Código de autoridad de FirstMate: un recibo de identidad no es permiso de fusión
Examina clasificación, persistencia de seis líneas y consumo por identidad, con los límites de un modelo didáctico JavaScript aislado.
Qué aprenderás
- Empieza por el límite declarado del auxiliar
- La persistencia vincula el recibo a una solicitud
- La retirada no debe borrar un recibo nuevo
Antes de empezar
- Bases de árboles Git y solicitudes de cambios
- Comprender agentes de terminal y alcance de credenciales
Definir entregables e inspeccionar evidencia de estado y autoridad sin atribuir garantías no probadas.
Conclusiones clave
- El resolver de clasificación no es la comprobación completa de fusión.
- El recibo vincula una clasificación histórica a una solicitud.
- La limpieza también necesita comprobaciones de identidad.
Empieza por el límite declarado del auxiliar
La cabecera de bin/fm-merge-authority-lib.sh dice que el resolver no autoriza nada por sí mismo. La ruta de fusión posee la comprobación real y persiste la clasificación después de que la plataforma acepta la solicitud. El registro tiene seis líneas: formato, proveedor, host, ruta, número y clasificación de autoridad.
El resolver distingue attended, yolo y away-grant. Sin registro de ausencia devuelve attended; si el registro existe pero no puede leerse, falla. Con un registro válido, consulta yolo en los metadatos o una concesión exacta para la tarea. attended no significa saltarse comprobaciones en vivo ni instrucciones del usuario.
La persistencia vincula el recibo a una solicitud
La función de persistencia valida tarea, directorio e identidad actual antes de escribir. Adquiere un bloqueo, crea un archivo temporal privado en state, escribe seis líneas, valida y sustituye el destino. Sus auxiliares imponen restricciones adicionales de archivos que nuestro modelo didáctico independiente no implementa.
record_matches rechaza formato incorrecto, autoridad desconocida, identidad diferente o una línea extra. La lectura parte de external y consume solo un recibo coincidente bajo bloqueo. Así, un sondeo posterior no inventa autoridad histórica a partir de una política de ausencia que pudo cambiar entretanto.
La retirada no debe borrar un recibo nuevo
remove_if_matches compara solicitud canónica, autoridad e identidad del archivo antes de retirarlo. Comparar únicamente el nombre de tarea podría borrar un registro actualizado después de la lectura. Esta precaución muestra que la limpieza forma parte de la corrección, no es una tarea secundaria sin consecuencias.
Nuestro modelo JavaScript prueba el análisis de seis líneas y la coincidencia exacta con cadenas sintéticas. Excluye importaciones Shell, permisos, bloqueos, llamadas a la plataforma y resolución de autoridad. Pasarlo solo demuestra invariantes del modelo; no ejecuta el Shell upstream ni demuestra seguridad de fusiones concurrentes reales.
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
Lee la cabecera antes de seguir funciones.
- 2
Separa resolución, persistencia, lectura y retirada.
- 3
Prueba recibos malformados y discordantes con datos sintéticos.
- 4
Distingue cobertura del modelo, Shell y plataforma real.
Ejemplo para copiar
// Modelo didáctico: no es la comprobación de fusión upstream.
const sameRequest = (a, b) =>
["provider", "host", "path", "number"]
.every(key => a[key] === b[key]);
// Identidad de archivos y bloqueos se comprueban aparte.Preguntas frecuentes
¿Un recibo válido autoriza una fusión nueva?
No. Registra clasificación de una solicitud concreta aceptada; la ruta de fusión tiene otras comprobaciones.
¿Se ejecutaron los scripts de fusión upstream?
No. Solo el modelo didáctico JavaScript, sin operaciones de archivos ni de plataforma.
Fuentes
- FirstMate / bin/fm-merge-authority-lib.shFuente verificada 2026-09-14
- FirstMate / docs/architecture.mdFuente verificada 2026-09-14