Skip to content

v0.4.3 — Accumulator lifetime (S3)

Latest

Choose a tag to compare

@jpantsjoha jpantsjoha released this 08 Aug 14:40
· 3 commits to main since this release

Engine: pinescript-v6-validator@0.3.0

Eight checks now ship

S3 — accumulator lifetime. A var total that a loop re-adds to every bar, and nothing resets, grows for the life of the chart. Found in the field after every layer of the stack missed it.

The guidance was backwards

The skills said "declare accumulators var so they persist" — correct for a running total, and precisely what produces the bug above. Run the old checklist against the broken code and every item ticks.

No skill mentioned for or while at all. All three now cover both directions and ask the question that decides it: does the accumulator's lifetime match its meaning? "Total so far" wants var; "total for this bar" must not have it.

More honest about what it cannot see

The limitations section implied name-checking was covered. It is not:

  • Constant and built-in-variable names are never checked — shape.trianglup validates clean here and fails on TradingView
  • lookup_pine_reference covers functions only, so found: false for barstate.islast means "not a function", not "not real"
  • Re-declaring a name with = passes here

Stronger gate

make gate could print "Gate passed" over zero validated examples when the engine was missing. The five scaffolds advertised as "validated in CI" were opened by no script at all. Both fixed, plus a new check that every diagnostic's documentation link resolves to a real section.

Full changelog: CHANGELOG.md