Count completed and skipped work in a small batch.

batch-summary A script can scan a short batch and keep scalar counters for the final report. The batch data stays inline so replay does not expose table identities.

Batch Summaries

skip_level
batch_summary.lua
Replay: real traced execution (multi-file project)
local skip_level = 2
local done = 0
local skipped = 0

for _, level in ipairs({1, 2, 3}) do
  if level >= skip_level then
    skipped = skipped + 1
  else
    done = done + 1
  end
end

print("skip_level=" .. skip_level)
print("done=" .. done)
print("skipped=" .. skipped)
local skip_level = 1
local done = 0
local skipped = 0

for _, level in ipairs({1, 2, 3}) do
  if level >= skip_level then
    skipped = skipped + 1
  else
    done = done + 1
  end
end

print("skip_level=" .. skip_level)
print("done=" .. done)
print("skipped=" .. skipped)
local skip_level = 3
local done = 0
local skipped = 0

for _, level in ipairs({1, 2, 3}) do
  if level >= skip_level then
    skipped = skipped + 1
  else
    done = done + 1
  end
end

print("skip_level=" .. skip_level)
print("done=" .. done)
print("skipped=" .. skipped)
  1. skip_level ← 2, done ← 0, skipped ← 0

    1local skip_level→ 2 = 2 --@skip_level=1, 32local done→ 0 = 03local skipped→ 0 = 0
  2. _, level in ipairs({1, 2, 3}) do

    pass 1 of 3
    5for _1, level1 in ipairs({1, 2, 3}) do6  if level >= skip_level then7    skipped = skipped + 1
    All 3 passes — pass 1 is the card above
    pass_levelskip_leveldoneskipped
    1110 1
    22220 1
    33321 2
  3. done ← 1

    7  skipped = skipped + 18else9  done→ 1 = done + 110end
  4. skipped ← 1

    pass 1 of 2
    5for _, level in ipairs({1, 2, 3}) do6  if level2 >= skip_level2 then7    skipped→ 1 = skipped + 18  else
  5. skipped ← 2

    pass 2 of 2
    5for _, level in ipairs({1, 2, 3}) do6  if level3 >= skip_level2 then7    skipped→ 2 = skipped + 18  else
  6. print("skip_level=" .. skip_level)

    13print("skip_level=" .. skip_level2)14print("done=" .. done1)15print("skipped=" .. skipped2)
    outputskip_level=2
    done=1
    skipped=2
  1. skip_level ← 1, done ← 0, skipped ← 0

    1local skip_level→ 1 = 12local done→ 0 = 03local skipped→ 0 = 0
  2. _, level in ipairs({1, 2, 3}) do

    pass 1 of 3
    5for _1, level1 in ipairs({1, 2, 3}) do6  if level >= skip_level then7    skipped = skipped + 1
    All 3 passes — pass 1 is the card above
    pass_level
    111
    222
    333
  3. skipped ← 1

    pass 1 of 3
    5for _, level in ipairs({1, 2, 3}) do6  if level1 >= skip_level1 then7    skipped→ 1 = skipped + 18  else
    All 3 passes — pass 1 is the card above
    passlevelskipped
    110 1
    221 2
    332 3
  4. print("skip_level=" .. skip_level)

    13print("skip_level=" .. skip_level1)14print("done=" .. done0)15print("skipped=" .. skipped3)
    outputskip_level=1
    done=0
    skipped=3
  1. skip_level ← 3, done ← 0, skipped ← 0

    1local skip_level→ 3 = 32local done→ 0 = 03local skipped→ 0 = 0
  2. _, level in ipairs({1, 2, 3}) do

    pass 1 of 3
    5for _1, level1 in ipairs({1, 2, 3}) do6  if level >= skip_level then7    skipped = skipped + 1
    All 3 passes — pass 1 is the card above
    pass_levelskip_leveldoneskipped
    1110 1
    2221 2
    33330 1
  3. done ← 1

    pass 1 of 2
    7  skipped = skipped + 18else9  done→ 1 = done + 110end
  4. done ← 2

    pass 2 of 2
    7  skipped = skipped + 18else9  done→ 2 = done + 110end
  5. skipped ← 1

    5for _, level in ipairs({1, 2, 3}) do6  if level3 >= skip_level3 then7    skipped→ 1 = skipped + 18  else
  6. print("skip_level=" .. skip_level)

    13print("skip_level=" .. skip_level3)14print("done=" .. done2)15print("skipped=" .. skipped1)
    outputskip_level=3
    done=2
    skipped=1