pipetree lint: cross-check parser against woodpecker-cli lint #6
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
SPEC.md roadmap item 5.
woodpecker-cli lint <file>(system-installed, v3.16.0, matchesci.oleks.space) validates a file against Woodpecker's actualschema/parser with no server round-trip — a ground-truth oracle for
pipetree's own parser. This is exactly the kind of check that would have
caught the sequence-vs-map
steps:bug (see commit4b5b336) before ahuman had to notice zero steps in the tool's own pipeline.
Two parts:
pipetree lint: shell out towoodpecker-cli lintper discovered file,merge syntax-validity results into the tree/JSON alongside structure.
for every fixture/example
.woodpecker.yaml, assert pipetree's parsedstep count matches what
woodpecker-cli lintimplies (or, if lint gainsa machine-readable structure dump, diff against that directly).
Source: SPEC.md.
Acceptance criteria
pipetree lint(or-lintflag) shells out towoodpecker-cli lintper discovered file and surfaces pass/fail per file.woodpecker.yamlcross-checks pipetree's step counts againstwoodpecker-cli lintfor a set of fixture files (reuse the woodpecker mirror's test-fixture corpus noted in #2 as ready-made adversarial inputs)woodpecker-cliisn't installed (skip with a clear message, don't hard-fail the whole scan)