JCL is the ancestor
vibe-linter reinvents 1964's Job Control Language (IBM OS/360, still running nightly on every bank's z/OS) to a comical degree: REGION/TIME = gas/metering, COND = the coin-gated transition ("B green, then D runs") — "but the coin is impoverished to a 4-bit return code." Your advance: upgrade the return code to an evidence-carrying certificate.
The lineage is one function reincarnated per expensive shared substrate: JCL → Unix make/&&/|| → SLURM/PBS (HPC) → Airflow/Argo → Kubernetes YAML (the biggest reincarnation: requests/limits=REGION, restartPolicy=DISP, RBAC) → GitHub Actions (artifacts = proto-coins). Every reincarnation recommits the COND curse: a declarative config slowly rots into a bad programming language (Brooks called JCL "the worst programming language ever") → so fix the expressiveness ceiling on day one: deliberately not Turing-complete (sub-Turing → reachability/deadlock/soundness decidable = the core selling point).
Each generation adds one primitive tracking the substrate change (pipes, parallel topology, data dependency, declarative convergence). "The substrate changes again — steps become stochastic and cheating — so this generation's new primitive is verification and certificates. Your net is the 7th generation of this lineage: JCL's grandchild, the first that doesn't trust its own job steps."
Up: vibe-linter