Inicio rápido
La forma más rápida de entender AXON es verlo decir que no.
Instalar
cargo install axon-langUn binario,
axon. Necesita un compilador de C en la máquina (los kernels criptográficos y de tokenización son C23); en Windows, MSVC lo cubre.Escribir un programa que transporta datos regulados
type PatientRecord compliance [HIPAA, GDPR] { ssn: String }shield PHIShield { scan: [pii_leak] on_breach: halt severity: criticalcompliance: [HIPAA, GDPR] }axonendpoint Api { method: POST path: "/p" body: PatientRecordexecute: F output: FlowEnvelope<PatientRecord> shield: PHIShieldbackend: anthropic compliance: [HIPAA, GDPR] }flow F(ssn: String) -> PatientRecord {step R { ask: "summarize" output: PatientRecord } }Guárdalo como
app.axon. Cuatro declaraciones: un type que transporta dos clases regulatorias, un shield que las cubre, un endpoint que cruza una frontera de confianza y un flow que hace el trabajo cognitivo.Comprobarlo
axon check app.axon # verificación de cumplimiento en compilaciónaxon dossier app.axon # postura regulatoria, en JSONaxon audit app.axon --framework all # análisis de brechas por marcoaxon checksale con0. El endpoint transportaPatientRecord, cuyas clases son{HIPAA, GDPR}, yPHIShieldcubre las dos.Ahora rómpelo
Borra
shield: PHIShielddel endpoint y vuelve a comprobar:X app.axon 1 error(s)error [line 4]: axon-T957 axonendpoint 'Api' carries regulated data(kappa = {GDPR, HIPAA}) across a trust boundary but declares no `shield:`.Regulated boundaries require a shield whose `compliance:` covers the type'skappa — the ESK coverage rule. […] Declaring the classes on theendpoint's own `compliance:` does NOT cover them: that list is a label,the shield is the control that acts on a breach.axon checksale con1.
Por qué importa
Ese fallo es un error de tipos, no un aviso de linter. Nada de lo que viene después se construye.
Y la regla es una diferencia de conjuntos real sobre las clases regulatorias que
transportan los tipos de body: y output: de la frontera — así que un shield
que cubra algunas también falla, nombrando exactamente las que le faltan. No
es una comprobación de presencia sobre una etiqueta.
La errata tampoco te salva
El vocabulario regulatorio es cerrado (axon-T1214). compliance: [HIPPA] no
compila — se rechaza con la sugerencia HIPAA. Ese cierre es lo que hace sólida
la regla de cobertura: sin él, una errata simétrica en el tipo y en el shield
satisfaría la diferencia de conjuntos sin proteger nada.
La misma regla de diferencia de conjuntos guarda las declaraciones channel
(axon-T1215: un canal cuya carga transporta una clase regulada necesita un
shield que la cubra antes de que publish pueda extruirla), y se vuelve a
comprobar en ejecución, en el publish, para la IR que nunca pasó por el
verificador.