Check
Un hecho que se comprueba en vez de recordarse. Es la unidad del tablero. Una tarjeta sin comprobación es una nota, y las notas mienten a los tres días — que es exactamente cómo se murieron los archivos que este tablero viene a sustituir. Tres cosas la definen y ninguna es opcional: qué afirma, **qué artefacto interroga** (ADR-0028), y qué la bloquea. El costo se declara aparte porque decide si el tablero es algo que alguien corre: en el slice mínimo, una sola comprobación se llevó 19.5 de los 20.3 segundos totales, y un tablero que tarda es un tablero que nadie mira.
Check::__construct()
public function __construct(string $id, string $claim, Milpa\DevTools\Board\Artifact $artifact, Closure $probe, array $needs = [], bool $human = false, Milpa\DevTools\Board\Cost $cost = Milpa\DevTools\Board\Cost::Fast):Parameters
| Name | Type | Description |
|---|---|---|
| $id | string | identificador estable; lo que otras comprobaciones nombran al depender |
| $claim | string | lo que afirma, en la voz de quien lo lee: "plugin 0.3.0 está publicado" |
| $artifact | Artifact | qué interroga — obligatorio, es la mitad del ADR-0028 |
| $probe | \Closure(): Outcome | la comprobación misma; devuelve, nunca lanza hacia afuera |
| $needs | list<string> | ids que tienen que estar `Passed` para que ésta tenga sentido |
| $human | bool | si sólo una persona puede cambiarlo (una llave, un secreto, un juicio) |
| $cost | Cost | cuánto cuesta preguntarle |
Check::run()
public function run(): Milpa\DevTools\Board\ReadingCorre la comprobación en aislamiento. Cualquier cosa que escape se convierte en {@see Outcome::Unmeasured}, jamás en `Failed`: una comprobación que revienta no dice nada sobre el sujeto. Y no puede tumbar al corredor — en el slice mínimo un `exit` adentro de una prueba truncó el reporte y las seis comprobaciones que faltaban no salieron, lo cual se lee igualito que un tablero limpio.