
Compilador LinkML de contratos para investigadores de seguridad
Intención declarativa → contrato de ejecución determinista → agente / harness
Decretum convierte la intención estructurada en un contrato de ejecución determinista para agentes y harnesses.
Decretum es un Compilador de Ejecución Declarativa neutral respecto al dominio. Combina esquemas, recetas, perfiles, registros de proveedores/integraciones, descubrimiento, validación, políticas y resolución determinista para producir un Contrato de Ejecución portátil.
La investigación de seguridad es el dominio de referencia de Decretum, no su límite arquitectónico. El mismo modelo de compilador puede describir ingeniería de software, automatización de infraestructura, ingeniería de datos, respuesta a incidentes, experimentos científicos y otros trabajos técnicos reproducibles.
Decretum no es un runtime. Define lo que puede ejecutarse y produce un contrato de ejecución portátil. No ejecuta trabajo, no gestiona la interacción agente/investigador, no recopila evidencia, no mantiene hallazgos ni genera informes.
Tras la compilación, Decretum se detiene. El contrato se entrega a un harness externo o a un runtime de agente.
Si la ejecución posteriormente necesita una nueva capacidad o un requisito modificado, la solicitud regresa a Decretum para validación, resolución y recompilación.
Schema = what exists / semantic boundaries
Recipe = what should be done
Profile = execution characteristics and preferences
Registry = available implementations
Resolver = deterministic capability binding
Compiler = portable contract generation
Harness = actual execution and interaction
Store = persistent execution/research memory
La separación importante es:
DECRETUM
Declarative Execution Compiler
|
+---------------+---------------+
| | |
Schema Recipe Profile
"what" "do" "how"
| | |
+---------------+---------------+
|
Resolver
|
capability + provider + integration
+ harness + readiness + policy
|
v
Execution Contract
|
v
External Harness/Agent
|
+------------+------------+
| | |
execute interact persist
| | |
+------------+------------+
|
Store
El núcleo del compilador es neutral respecto al dominio. La semántica específica del dominio reside en registros y esquemas en lugar de en ramas del compilador.
Ejemplos:
Un paquete de dominio aporta capacidades, esquemas, recetas, perfiles y metadatos de proveedores. No modifica la semántica del núcleo del resolver/compilador.
Markdown es excelente para la explicación. No es una interfaz de ejecución determinista.
Decretum separa:
human intent
|
v
structured schema + recipe + profile
|
v
validated resolution
|
v
portable execution contract
|
v
agent / harness execution
Esto proporciona a los agentes un límite legible por máquina, manteniendo las decisiones de implementación fuera de la receta.
Una tarea de software puede usar el mismo compilador:
apiVersion: decretum.dev/v1
kind: ExecutionRecipe
domain: software_engineering
id: build-user-service
name: Build User Service
version: "1.0"
objective: Build and validate a Python service.
capabilities:
- source.read
- source.modify
- dependency.install
- test.execute
- artifact.build
- container.build
profiles:
infrastructure: local-dev
language: python
testing: pytest
container: docker
agent: coding-agent
completion:
required:
- tests_pass
- artifact_built
- container_built
La misma intención puede compilarse contra otro conjunto de preferencias:
profiles:
infrastructure: isolated-dev-vm
testing: pytest
container: podman
agent: enterprise-coding-agent
La receta describe la intención. El perfil expresa preferencias. El registro de proveedores determina qué está realmente disponible.
id: suspicious-network-investigation
name: Suspicious Network Investigation
version: "1.0"
role: threat_researcher
objective: Determine whether the sample creates unexpected network activity.
capabilities:
- process.observe
- network.capture
- artifact.collect
infrastructure_profile: isolated-linux-vm
instrumentation_profile: linux-network-observation
harness_profile: interactive-research
La receta no contiene el ciclo de vida de Lima/Docker, la implementación de MCP, prompts de agentes ni código específico del runtime.
Decretum no realiza los pasos 9–10.
DISCOVER
|
PROPOSE
|
SEMANTIC REVIEW
|
APPROVE
|
CANONICAL CAPABILITY
|
PROVIDER IMPLEMENTATIONS
El descubrimiento puede proponer una capacidad, pero no puede mutar silenciosamente la semántica canónica.
git clone https://github.com/Opposum0112/Decretum.git
cd Decretum
uv sync
decretum capabilities discover
decretum validate recipes/<recipe>.yaml
decretum resolve recipes/<recipe>.yaml
decretum compile recipes/<recipe>.yaml
Nada en la ruta de validate/resolve/compile de Decretum ejecuta el trabajo.
Capability
|
Provider
|
Integration
|
Execution surface
|
Harness compatibility
|
Host/provider readiness
|
Policy compatibility
|
READY / BLOCKED
Decretum deliberadamente no se convierte en: