This page defines the objective, testable criteria for shipping v1.0.0.
- CI runs on JDK 17 (Ubuntu 22.04), sbt 1.9+.
- Scala 2.13 primary; Scala 3 sources compile in
core(no Spark dependencies). engines-flink: cross-build limited to 2.12 only (Flink Scala API constraint).- Spark IT job pinned to Java 17; println banned in production sources via CI guard.
- Macro
SchemaConformsproves Exact/Backward/Forward/Ordered/ByPosition policies. compile-fail-testscontain at least the 3 mandatory scenarios: missing sink, schema mismatch, illegal evolution.- Error messages show path‑aware diffs; docs include example screenshots.
- Builder typestate enforced: tests prove incomplete pipelines cannot build and typed endpoints require SchemaConforms evidence.
- Spark data algebra passes unit tests and smoke ITs with local[*] (Delta optional).
- DQ runs natively; when Deequ is added to classpath, reflection path activates automatically and degrades gracefully on failure.
- g8 template builds and runs locally; README shows red→green flow under 3 minutes.
- sbt aliases:
ffDev,ffCheck,ffRunSparkwork as documented.
- README, start‑here, getting‑started updated; “Why” added to talks with runtime vs compile‑time boundary.
- ADR index current; v1.0 acceptance checklist linked from README.