Aggregate warning flags into a compact status count.

flag aggregation Small pipelines often turn several booleans into one count and one decision.
guard The allowed warning count controls whether the summary is accepted.

Aggregate Flags

allowed
aggregate_flags.lua
Replay: real traced execution (multi-file project)
local allowed = 1
local warnings = 0

for _, flag in ipairs({false, true, true}) do
  if flag then
    warnings = warnings + 1
  end
end

local status = "pass"
if warnings > allowed then
  status = "review"
end

print("allowed=" .. allowed)
print("warnings=" .. warnings)
print("status=" .. status)
local allowed = 0
local warnings = 0

for _, flag in ipairs({false, true, true}) do
  if flag then
    warnings = warnings + 1
  end
end

local status = "pass"
if warnings > allowed then
  status = "review"
end

print("allowed=" .. allowed)
print("warnings=" .. warnings)
print("status=" .. status)
local allowed = 2
local warnings = 0

for _, flag in ipairs({false, true, true}) do
  if flag then
    warnings = warnings + 1
  end
end

local status = "pass"
if warnings > allowed then
  status = "review"
end

print("allowed=" .. allowed)
print("warnings=" .. warnings)
print("status=" .. status)
  1. allowed ← 1, warnings ← 0

    1local allowed→ 1 = 1 --@allowed=0, 22local warnings→ 0 = 0
  2. _, flag in ipairs({false, true, true}) do

    pass 1 of 3
    4for _1, flagfalse in ipairs({false, true, true}) do5  if flag then6    warnings = warnings + 1
    All 3 passes — pass 1 is the card above
    pass_flagwarnings
    11false
    22true0 1
    33true1 2
  3. warnings ← 1

    pass 1 of 2
    4for _, flag in ipairs({false, true, true}) do5  if flagtrue then6    warnings→ 1 = warnings + 17  end
  4. warnings ← 2

    pass 2 of 2
    4for _, flag in ipairs({false, true, true}) do5  if flagtrue then6    warnings→ 2 = warnings + 17  end
  5. status ← pass

    10local status→ pass = "pass"11if warnings > allowed then
  6. status ← review

    10local status = "pass"11if warnings2 > allowed1 then12  status→ review = "review"13end
  7. print("allowed=" .. allowed)

    15print("allowed=" .. allowed1)16print("warnings=" .. warnings2)17print("status=" .. statusreview)
    outputallowed=1
    warnings=2
    status=review
  1. allowed ← 0, warnings ← 0

    1local allowed→ 0 = 02local warnings→ 0 = 0
  2. _, flag in ipairs({false, true, true}) do

    pass 1 of 3
    4for _1, flagfalse in ipairs({false, true, true}) do5  if flag then6    warnings = warnings + 1
    All 3 passes — pass 1 is the card above
    pass_flagwarnings
    11false
    22true0 1
    33true1 2
  3. warnings ← 1

    pass 1 of 2
    4for _, flag in ipairs({false, true, true}) do5  if flagtrue then6    warnings→ 1 = warnings + 17  end
  4. warnings ← 2

    pass 2 of 2
    4for _, flag in ipairs({false, true, true}) do5  if flagtrue then6    warnings→ 2 = warnings + 17  end
  5. status ← pass

    10local status→ pass = "pass"11if warnings > allowed then
  6. status ← review

    10local status = "pass"11if warnings2 > allowed0 then12  status→ review = "review"13end
  7. print("allowed=" .. allowed)

    15print("allowed=" .. allowed0)16print("warnings=" .. warnings2)17print("status=" .. statusreview)
    outputallowed=0
    warnings=2
    status=review
  1. allowed ← 2, warnings ← 0

    1local allowed→ 2 = 22local warnings→ 0 = 0
  2. _, flag in ipairs({false, true, true}) do

    pass 1 of 3
    4for _1, flagfalse in ipairs({false, true, true}) do5  if flag then6    warnings = warnings + 1
    All 3 passes — pass 1 is the card above
    pass_flagwarnings
    11false
    22true0 1
    33true1 2
  3. warnings ← 1

    pass 1 of 2
    4for _, flag in ipairs({false, true, true}) do5  if flagtrue then6    warnings→ 1 = warnings + 17  end
  4. warnings ← 2

    pass 2 of 2
    4for _, flag in ipairs({false, true, true}) do5  if flagtrue then6    warnings→ 2 = warnings + 17  end
  5. status ← pass

    10local status→ pass = "pass"11if warnings > allowed then12  status = "review"13end1415print("allowed=" .. allowed2)16print("warnings=" .. warnings2)17print("status=" .. statuspass)
    outputallowed=2
    warnings=2
    status=pass