Comenzando con escenarios Monotone-DAG

Iniciar Decision Gate y ejecutar un primer escenario.

Los escenarios de Decision Gate son DAGs de dependencia inmutables. Una ejecución comienza con progreso vacío; las raíces están listas pero no abiertas. Los operadores eligen explícitamente qué etapas listas abrir y evaluar.

Redactar un escenario en bruto

{
  "scenario_id": "release",
  "namespace_id": 1,
  "spec_version": "dag-v3",
  "value_limits": { "selection": "InheritOperator" },
  "stages": [
    {
      "stage_id": "verify",
      "prerequisite": { "kind": "root" },
      "entry_packets": [],
      "completion_requirement": { "Condition": "checks_green" }
    }
  ],
  "conditions": [
    {
      "condition_id": "checks_green",
      "observation_domain": { "domain": "Boolean" },
      "predicate": {
        "predicate": "Equals",
        "expected": { "value_type": "Boolean", "value": true }
      },
      "evidence_use_policy": {
        "allowed_channels": ["caller_submission"],
        "required_assurance": ["content_integrity", "scope", "schema_compatibility"],
        "integrity": "canonical_content_only",
        "authorization": "embedding_authority",
        "scope": "exact_condition",
        "freshness": { "freshness": "NotRequired" },
        "independence": "distinct_acquisition",
        "combination": { "combination": "AllQualifyingAgree" },
        "retention": "retain_canonical_value",
        "replay": "full_semantic"
      }
    }
  ],
  "acquisition_bindings": [],
  "completion_requirement": { "Condition": "verify" },
  "policies": [],
  "schemas": []
}

Llama a scenario_define. El éxito devuelve scenario_law_identity y graph_identity; conserva la identidad de ley exacta para la creación de la ejecución.

Iniciar una ejecución independiente

Llama a scenario_start con namespace, escenario, ID de ejecución, identidad de ley exacta, ID de operación estable y timestamp explícito. La respuesta contiene la revisión 0, la digestión del registro aceptado exacto, verify como ready_unopened, y ninguna etapa abierta ni intención de entrada.

Abrir una etapa lista

Llama a scenario_open_stage con el ID de etapa explícito, el head aceptado exacto devuelto por start, y un ID de operación estable. Abrir significa que el trabajo comenzó en esta ejecución compartida. No asigna un agente ni cambia los hermanos listos.

Evaluar la etapa abierta

Llama a scenario_evaluate_stage con el nuevo head exacto, ID de etapa explícito, ID de intento de evaluación estable, ID de operación de commit estable, timestamp, y un valor de evidencia de llamador hostil para checks_green. El transporte deriva la procedencia del llamador; el llamador no proporciona ni confianza ni estado de comparador.

  • semántico falso o desconocido añade un intento reintentable;
  • semántico verdadero completa la etapa una vez y reevaluar la finalización del escenario;
  • la adquisición, autorización, integridad o fallo del evaluador no crea ninguna propuesta semántica.

Observar y coordinar

Usa scenario_status para el head exacto, estado de ejecución, cuatro clasificaciones de etapa, frontera, intentos e identidades de intención. Usa scenario_history para registros de orden aceptado acotados. En un conflicto de head obsoleto, lee el estado/historia y vuelve a derivar; no reintentes la propuesta obsoleta ciegamente.

Pre-verificación

scenario_precheck_stage acepta evidencia de llamador hostil y predice un resultado de etapa sin abrir, intentos, intenciones o mutación de progreso.

Ramificación y múltiples agentes

Un padre completado puede hacer que varios hijos estén listos. Todos siguen siendo válidos. Los operadores pueden abrir cualquier subconjunto, incluyendo varios simultáneamente. Las ejecuciones separadas sobre una ley son independientes; los principales que comparten intencionadamente una RunKey coordinan a través de heads exactos y conflictos tipados. La asignación y los arrendamientos pertenecen a una capa de coordinación externa.