Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

workflow / workflow happens before access pairs

An agent that parallelizes autonomous artifact transformations needs conflicting supplied read/write pairs counted when fork join and mutex synchronization do not order them.

POST https://detect.halowerk.com/v1/workflow/workflow-happens-before-access-pairs

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "properties": {
    "artifact": {
      "type": "object",
      "properties": {
        "threads": {
          "type": "integer",
          "minimum": 1,
          "maximum": 16
        },
        "events": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "read"
                  },
                  "thread": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  },
                  "variable": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 127
                  }
                },
                "required": [
                  "kind",
                  "thread",
                  "variable"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "write"
                  },
                  "thread": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  },
                  "variable": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 127
                  }
                },
                "required": [
                  "kind",
                  "thread",
                  "variable"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "lock"
                  },
                  "thread": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  },
                  "mutex": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 31
                  }
                },
                "required": [
                  "kind",
                  "thread",
                  "mutex"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "unlock"
                  },
                  "thread": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  },
                  "mutex": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 31
                  }
                },
                "required": [
                  "kind",
                  "thread",
                  "mutex"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "fork"
                  },
                  "thread": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  },
                  "child": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  }
                },
                "required": [
                  "kind",
                  "thread",
                  "child"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "join"
                  },
                  "thread": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  },
                  "child": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  }
                },
                "required": [
                  "kind",
                  "thread",
                  "child"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "end"
                  },
                  "thread": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 15
                  }
                },
                "required": [
                  "kind",
                  "thread"
                ],
                "additionalProperties": false
              }
            ]
          },
          "minItems": 0,
          "maxItems": 512
        },
        "claimed_unordered_conflicts": {
          "type": "integer",
          "minimum": 0,
          "maximum": 130816
        }
      },
      "required": [
        "threads",
        "events",
        "claimed_unordered_conflicts"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "artifact"
  ],
  "additionalProperties": false
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "artifact": {
    "threads": 2,
    "events": [
      {
        "kind": "fork",
        "thread": 0,
        "child": 1
      },
      {
        "kind": "write",
        "thread": 0,
        "variable": 0
      },
      {
        "kind": "read",
        "thread": 1,
        "variable": 0
      }
    ],
    "claimed_unordered_conflicts": 1
  }
}

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →