Workflow and Source Panels
Response State Panel
Replay a small response state machine with scalar request and response values.
response state
Model a response as scalar state before handing it to a real service boundary.
Response State Panel
response_state_panel.lua
Replay: real traced execution (multi-file project)
local route = "status"
local status = ""
local message = ""
if route == "refresh" then
status = "ok"
message = "cache refreshed"
elseif route == "archive" then
status = "queued"
message = "archive queued"
else
status = "ok"
message = "service ready"
end
local payload = status .. ":" .. message
print("route=" .. route)
print("status=" .. status)
print("payload=" .. payload)
local route = "refresh"
local status = ""
local message = ""
if route == "refresh" then
status = "ok"
message = "cache refreshed"
elseif route == "archive" then
status = "queued"
message = "archive queued"
else
status = "ok"
message = "service ready"
end
local payload = status .. ":" .. message
print("route=" .. route)
print("status=" .. status)
print("payload=" .. payload)
local route = "archive"
local status = ""
local message = ""
if route == "refresh" then
status = "ok"
message = "cache refreshed"
elseif route == "archive" then
status = "queued"
message = "archive queued"
else
status = "ok"
message = "service ready"
end
local payload = status .. ":" .. message
print("route=" .. route)
print("status=" .. status)
print("payload=" .. payload)
route ← status, status ← (empty), message ← (empty)
1local route→ status = "status" --@route="refresh", "archive"2local status→ (empty) = ""3local message→ (empty) = ""status ← ok, message ← service ready
10 message = "archive queued"11else12 status→ ok = "ok"13 message→ service ready = "service ready"14endpayload ← ok:service ready
16local payload→ ok:service ready = statusok .. ":" .. messageservice ready1718print("route=" .. routestatus)19print("status=" .. statusok)20print("payload=" .. payloadok:service ready)outputroute=status status=ok payload=ok:service ready
route ← refresh, status ← (empty), message ← (empty)
1local route→ refresh = "refresh"2local status→ (empty) = ""3local message→ (empty) = ""status ← ok, message ← cache refreshed
5if routerefresh == "refresh" then6 status→ ok = "ok"7 message→ cache refreshed = "cache refreshed"8elseif route == "archive" thenpayload ← ok:cache refreshed
16local payload→ ok:cache refreshed = statusok .. ":" .. messagecache refreshed1718print("route=" .. routerefresh)19print("status=" .. statusok)20print("payload=" .. payloadok:cache refreshed)outputroute=refresh status=ok payload=ok:cache refreshed
route ← archive, status ← (empty), message ← (empty)
1local route→ archive = "archive"2local status→ (empty) = ""3local message→ (empty) = ""status ← queued, message ← archive queued
7 message = "cache refreshed"8elseif routearchive == "archive" then9 status→ queued = "queued"10 message→ archive queued = "archive queued"11elsepayload ← queued:archive queued
16local payload→ queued:archive queued = statusqueued .. ":" .. messagearchive queued1718print("route=" .. routearchive)19print("status=" .. statusqueued)20print("payload=" .. payloadqueued:archive queued)outputroute=archive status=queued payload=queued:archive queued