Data Pipeline Case Studies
Publish Summary
Combine counts and status text into a final publishable summary line.
final status
A final report usually combines earlier counts with a release decision.
summary string
The summary stays deterministic and scalar so it can be replayed safely.
Publish Summary
publish_summary.lua
Replay: real traced execution (multi-file project)
local fail_count = 1
local total = 4
local status = "publish"
if fail_count > 0 then
status = "hold"
end
local summary = status .. ":" .. (total - fail_count) .. "/" .. total
print("fail_count=" .. fail_count)
print("status=" .. status)
print("summary=" .. summary)
local fail_count = 0
local total = 4
local status = "publish"
if fail_count > 0 then
status = "hold"
end
local summary = status .. ":" .. (total - fail_count) .. "/" .. total
print("fail_count=" .. fail_count)
print("status=" .. status)
print("summary=" .. summary)
local fail_count = 3
local total = 4
local status = "publish"
if fail_count > 0 then
status = "hold"
end
local summary = status .. ":" .. (total - fail_count) .. "/" .. total
print("fail_count=" .. fail_count)
print("status=" .. status)
print("summary=" .. summary)
fail_count ← 1, total ← 4, status ← publish
1local fail_count→ 1 = 1 --@fail_count=0, 32local total→ 4 = 43local status→ publish = "publish"status ← hold
5if fail_count1 > 0 then6 status→ hold = "hold"7endsummary ← hold:3/4
9local summary→ hold:3/4 = statushold .. ":" .. (total4 - fail_count1) .. "/" .. total1011print("fail_count=" .. fail_count1)12print("status=" .. statushold)13print("summary=" .. summaryhold:3/4)outputfail_count=1 status=hold summary=hold:3/4
fail_count ← 0, total ← 4, status ← publish, summary ← publish:4/4
1local fail_count→ 0 = 02local total→ 4 = 43local status→ publish = "publish"45if fail_count > 0 then6 status = "hold"7end89local summary→ publish:4/4 = statuspublish .. ":" .. (total4 - fail_count0) .. "/" .. total1011print("fail_count=" .. fail_count0)12print("status=" .. statuspublish)13print("summary=" .. summarypublish:4/4)outputfail_count=0 status=publish summary=publish:4/4
fail_count ← 3, total ← 4, status ← publish
1local fail_count→ 3 = 32local total→ 4 = 43local status→ publish = "publish"status ← hold
5if fail_count3 > 0 then6 status→ hold = "hold"7endsummary ← hold:1/4
9local summary→ hold:1/4 = statushold .. ":" .. (total4 - fail_count3) .. "/" .. total1011print("fail_count=" .. fail_count3)12print("status=" .. statushold)13print("summary=" .. summaryhold:1/4)outputfail_count=3 status=hold summary=hold:1/4