Documentation
¶
Overview ¶
Package ship implements the exit gate of §6.5: the eight deterministic steps a task must pass before devclean opens a PR. Every check is pure code; no model is involved in verification (§6.5, reglas del equipo).
Los pasos corren en orden y la compuerta se detiene en el primero que falla: sin PR, con la razón exacta.
Index ¶
Constants ¶
const DefaultTimeout = 5 * time.Minute
DefaultTimeout is the fallback for the bisectable step's test run.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Hallazgo ¶
type Hallazgo struct {
Tipo string `json:"tipo"`
Archivo string `json:"archivo,omitempty"`
Detalle string `json:"detalle,omitempty"`
}
Hallazgo es algo que un escáner marcó en el diff.
type Opciones ¶
type Opciones struct {
Root string
Room room.Room
Task task.Task
Config config.Config
Modelo string // del último intento, para el trailer Agent:
Base string // rama base sobre la que rebasear
Timeout time.Duration // timeout del paso bisectable
DryRun bool // corre todo menos abrir el PR
Progreso func(Paso) // llamado tras cada paso, para el TUI; nil = silencio
}
Opciones carries the exit gate's dependencies.
type Paso ¶
type Paso struct {
Nombre string `json:"nombre"`
OK bool `json:"ok"`
Detalle string `json:"detalle,omitempty"`
}
Paso is the result of one exit-gate step, in order.
type Resultado ¶
type Resultado struct {
ID string `json:"id"`
Pasos []Paso `json:"pasos"`
Aprobado bool `json:"aprobado"`
PR string `json:"pr,omitempty"`
// Resumen para las métricas, aunque la esclusa frene antes.
LineasMas int `json:"lineas_mas,omitempty"`
LineasMenos int `json:"lineas_menos,omitempty"`
Ruido int `json:"ruido,omitempty"`
Conflicto bool `json:"conflicto,omitempty"`
}
Resultado is the outcome of the exit gate on one task.
func Run ¶
Run executes the eight steps in order and returns the gate result. The first failing step stops the gate (la compuerta se frena ahí).
func (Resultado) PrimerMotivo ¶
PrimerMotivo returns the detail of the first failed step.