tools/swift-oracle builds the unchanged Swift runtime (pinned 3b5ded0) in Docker and replays JSON scenarios; the TypeScript engine must produce the same trace events, results and end state. Five scenarios, 884 events, identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
195 lines
4.8 KiB
JSON
195 lines
4.8 KiB
JSON
{
|
|
"seed": 18,
|
|
"nodes": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000401",
|
|
"kind": "pc",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000411",
|
|
"label": "eth0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000402",
|
|
"kind": "router",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000421",
|
|
"label": "rt1"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000422",
|
|
"label": "rt2"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000403",
|
|
"kind": "pc",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000413",
|
|
"label": "eth0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000404",
|
|
"kind": "pc",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000414",
|
|
"label": "eth0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000405",
|
|
"kind": "networkSwitch",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000451",
|
|
"label": "sw1"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000452",
|
|
"label": "sw2"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000453",
|
|
"label": "sw3"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"links": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-00000000F00A",
|
|
"sourceNode": "00000000-0000-0000-0000-000000000401",
|
|
"sourcePort": "00000000-0000-0000-0000-000000000411",
|
|
"targetNode": "00000000-0000-0000-0000-000000000405",
|
|
"targetPort": "00000000-0000-0000-0000-000000000451"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-00000000F00B",
|
|
"sourceNode": "00000000-0000-0000-0000-000000000404",
|
|
"sourcePort": "00000000-0000-0000-0000-000000000414",
|
|
"targetNode": "00000000-0000-0000-0000-000000000405",
|
|
"targetPort": "00000000-0000-0000-0000-000000000452"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-00000000F00C",
|
|
"sourceNode": "00000000-0000-0000-0000-000000000405",
|
|
"sourcePort": "00000000-0000-0000-0000-000000000453",
|
|
"targetNode": "00000000-0000-0000-0000-000000000402",
|
|
"targetPort": "00000000-0000-0000-0000-000000000421"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-00000000F00D",
|
|
"sourceNode": "00000000-0000-0000-0000-000000000402",
|
|
"sourcePort": "00000000-0000-0000-0000-000000000422",
|
|
"targetNode": "00000000-0000-0000-0000-000000000403",
|
|
"targetPort": "00000000-0000-0000-0000-000000000413"
|
|
}
|
|
],
|
|
"devices": {
|
|
"00000000-0000-0000-0000-000000000401": {
|
|
"ip": "10.1.0.2",
|
|
"mask": "255.255.255.0",
|
|
"gateway": "10.1.0.1"
|
|
},
|
|
"00000000-0000-0000-0000-000000000402": {
|
|
"ip": "10.1.0.1",
|
|
"mask": "255.255.255.0"
|
|
},
|
|
"00000000-0000-0000-0000-000000000403": {
|
|
"ip": "10.2.0.2",
|
|
"mask": "255.255.255.0",
|
|
"gateway": "10.2.0.1"
|
|
},
|
|
"00000000-0000-0000-0000-000000000404": {
|
|
"ip": "10.1.0.3",
|
|
"mask": "255.255.255.0",
|
|
"gateway": "10.1.0.1"
|
|
}
|
|
},
|
|
"interfaces": [
|
|
{
|
|
"node": "00000000-0000-0000-0000-000000000402",
|
|
"port": "00000000-0000-0000-0000-000000000421",
|
|
"ip": "10.1.0.1",
|
|
"mask": "255.255.255.0"
|
|
},
|
|
{
|
|
"node": "00000000-0000-0000-0000-000000000402",
|
|
"port": "00000000-0000-0000-0000-000000000422",
|
|
"ip": "10.2.0.1",
|
|
"mask": "255.255.255.0"
|
|
}
|
|
],
|
|
"firewalls": {
|
|
"00000000-0000-0000-0000-000000000402": {
|
|
"active": true,
|
|
"defaultPolicy": "accept",
|
|
"dropIcmp": true
|
|
},
|
|
"00000000-0000-0000-0000-000000000404": {
|
|
"active": true,
|
|
"defaultPolicy": "drop",
|
|
"dropIcmp": false
|
|
},
|
|
"00000000-0000-0000-0000-000000000401": {
|
|
"active": true,
|
|
"defaultPolicy": "drop",
|
|
"dropIcmp": true
|
|
}
|
|
},
|
|
"steps": [
|
|
{
|
|
"op": "ping",
|
|
"from": "00000000-0000-0000-0000-000000000401",
|
|
"target": "10.2.0.2",
|
|
"identifier": 30,
|
|
"sequence": 1
|
|
},
|
|
{
|
|
"op": "ping",
|
|
"from": "00000000-0000-0000-0000-000000000401",
|
|
"target": "10.1.0.3",
|
|
"identifier": 31,
|
|
"sequence": 1
|
|
},
|
|
{
|
|
"op": "ping",
|
|
"from": "00000000-0000-0000-0000-000000000404",
|
|
"target": "10.1.0.2",
|
|
"identifier": 32,
|
|
"sequence": 1
|
|
},
|
|
{
|
|
"op": "packetLoss",
|
|
"enabled": true
|
|
},
|
|
{
|
|
"op": "ping",
|
|
"from": "00000000-0000-0000-0000-000000000404",
|
|
"target": "10.1.0.1",
|
|
"identifier": 33,
|
|
"sequence": 1
|
|
},
|
|
{
|
|
"op": "packetLoss",
|
|
"enabled": false
|
|
},
|
|
{
|
|
"op": "ping",
|
|
"from": "00000000-0000-0000-0000-000000000404",
|
|
"target": "10.1.0.1",
|
|
"identifier": 34,
|
|
"sequence": 1
|
|
}
|
|
]
|
|
}
|