Terminal

Para el usuario técnico: resultados estructurados, sin conexión.

Un pequeño CLI local. Sin instalación global, sin cuenta, sin llamadas de red. Dos comandos se parecen y no son lo mismo: `demo` lee una respuesta guardada, `kernel-evaluate` ejecuta el kernel ahora. Cada respuesta dice cuál de las dos ocurrió.

Grabado o en vivo — nunca mezclado

demo
RECORDED_REPLAY · kernel_invoked: false · funciona sin el snapshot
kernel-evaluate
LIVE_REFERENCE_KERNEL · kernel_invoked: true · falla cerrado si el kernel no está disponible

Códigos de salida: 0 el expediente era interpretable · 2 no interpretable, o petición rechazada · 3 falló la cadena de identidad del kernel · 1 error de uso. Un 0 no significa que la evaluación fuera favorable — lee security_assessment_status.

Implementadofunciona hoy, local, sin conexión
01 Instalación

Sin instalación global

# 1. the CLI itself has no runtime dependencies
      node cli/bin/verify.mjs --help
      node cli/bin/verify.mjs demo --scenario VALID      # works right away

      # 2. live evaluation additionally needs the Master Front NextGen source,
      #    which this release deliberately does not redistribute. Supply your
      #    authorised copy once:
      python3 scripts/init_snapshot.py --zip path/to/DSEO-MASTER-FRONT-NEXTGEN.zip

      # 3. confirm what your environment can actually do
      node cli/bin/verify.mjs doctor
      node cli/bin/verify.mjs kernel-evaluate --scenario VALID

En ningún momento se descarga nada de la red. El inicializador comprueba ambos digests antes de extraer, rechaza miembros inseguros del archivo, nunca ejecuta nada del archivo, y es idempotente sobre un snapshot ya correcto.

02 Comandos

verify hash <file>

SHA-256 real de un fichero real de tu máquina.

$ verify hash ./release.tar.gz
      {
  "file": "./release.tar.gz",
  "bytes": 40412,
  "sha256": "9f2c…a41b"
}

verify inspect <file>

Hash más hechos estructurales básicos del fichero.

$ verify inspect ./bundle.json
      {
  "file": "./bundle.json",
  "bytes": 1822,
  "sha256": "4a01…9e3f",
  "json_parses": true
}

verify kernel-evaluate --scenario <id>

EJECUTA el kernel ahora, sobre los inputs versionados de ese escenario. Si el kernel no está disponible, falla — nunca cae a una grabación.

$ verify kernel-evaluate --scenario TAMPERED_ARTIFACT --json
      {
  "envelope": {
    "execution_mode": "LIVE_REFERENCE_KERNEL",
    "kernel_invoked": true,
    "candidate_sha256": "55187fd8…",
    "input_bundle_digest": "…",
    "snapshot_membership_unchanged": true
  },
  "result": {
    "record_valid": false,
    "security_assessment_status": "NO_CONSTA",
    "release_authority": false,
    "errors": [{ "code": "BUNDLE_PIN_MISMATCH", "...": "..." }]
  }
}

verify demo --scenario <id>

LEE una respuesta grabada. No se ejecuta ningún kernel. Funciona sin snapshot instalado, y lo dice en su salida.

$ verify demo --scenario STALE_EVIDENCE
      === RECORDED_REPLAY — this is a stored answer, not a measurement ===
execution_mode: RECORDED_REPLAY   kernel_invoked: false
scenario: STALE_EVIDENCE
recorded_fixture_digest: 0aa98a6a…

record_valid: true
security_assessment_status: NO_CONSTA
release_authority: false

To evaluate this now instead of reading it back:
  verify kernel-evaluate --scenario STALE_EVIDENCE

verify explain <result.json>

Convierte cualquier resultado estructurado de Verify en un párrafo en lenguaje claro.

$ verify explain ./result.json
      record_valid=true, security_assessment_status=FAIL.
This record is well formed and interpretable. Its answer is
unfavourable. release_authority is false, as it always is: this
result is not permission to act.

verify doctor

Comprueba tu entorno local: versión de Node, si el snapshot AC7 está presente y coincide byte a byte.

$ verify doctor
      node: v24.18.0 (ok)
AC7 snapshot: present
AC7 content_root: matches pinned value
kernel import: ok
03 El adaptador del kernel

Qué hace de verdad kernel-evaluate

Ejecuta el kernel de aseguramiento de referencia real de Master Front NextGen sobre un bundle de tu máquina. Antes de importar nada recorre una única cadena de integridad — digest del archivo upstream, manifiesto acreditado, el fichero de métricas probado como miembro del manifiesto, coincidencia de digest a tres bandas en cada fichero del núcleo, pertenencia exacta — y se niega a ejecutar si se rompe cualquier eslabón.

04 El mecanismo

Qué ocurre cuando ejecutas una evaluación.

Cómo funciona esto

  1. 01

    El adaptador vuelve a derivar la identidad del núcleo

    Antes de importar nada rehace el hash de cada fichero del núcleo que decide y lo contrasta con el manifiesto acreditado, el digest del archivo y el content root fijado — 43 eslabones en una cadena.

  2. 02

    O se niega, o importa

    Si difiere un solo byte, o hay un fichero no acreditado, no se ejecuta nada. No hay paso de reparación ni modo parcial.

  3. 03

    Tu expediente y tus pins se parsean en estricto

    Claves duplicadas, floats y valores no finitos los rechaza el parser del propio contrato, en lugar de aceptarlos en silencio como haría un JSON corriente.

  4. 04

    El núcleo evalúa y devuelve un sobre

    Recibes el resultado más execution_mode, kernel_invoked, el digest de la entrada consumida, y si el snapshot cambió durante la ejecución.

05 Paso a paso

Tus primeros cinco comandos.

Paso a paso

Cinco comandos, en orden. Los tres primeros funcionan antes de preparar nada; los dos últimos necesitan el motor.

  1. Abre una terminal en la carpeta del producto y escribe: node cli/bin/verify.mjs --help

    Verás una lista de comandos, con los grabados y los en vivo descritos por separado.

    Eso significa el CLI funciona. No has instalado nada y nada ha contactado con la red.

  2. Escribe: node cli/bin/verify.mjs demo --scenario VALID

    Verás un bloque que empieza por "RECORDED_REPLAY — esto es una respuesta guardada, no una medición".

    Eso significa estás leyendo una respuesta grabada antes. Sirve para aprender, pero no acaba de ocurrir.

  3. Prepara el motor una sola vez: python3 scripts/init_snapshot.py

    Verás dos digests impresos y luego "snapshot ready".

    Eso significa la fuente que necesitaba ya estaba dentro de esta carpeta. No se descargó nada.

  4. Ahora escribe: node cli/bin/verify.mjs kernel-evaluate --scenario VALID

    Verás un bloque que empieza por "execution_mode: LIVE_REFERENCE_KERNEL".

    Eso significa este sí se ha ejecutado ahora, en tu máquina. Compara la primera línea con el paso B y siempre podrás distinguirlos.

  5. Lee la línea que dice release_authority.

    Verás false — en todos los resultados, incluidos los favorables.

    Eso significa el motor nunca concede permiso para actuar. Lo que decide publicar, desplegar o aprobar es otra cosa, y es a propósito.

Si no funciona Si un comando termina en "NEEDS_SOURCE", el motor aún no está preparado: ejecuta el paso C. Si termina en "INTEGRITY_FAIL", algo de la copia fue alterado, y se niega a ejecutar en lugar de adivinar. Ninguno es un error: los dos imprimen un código que dice qué hacer.