Skip to content

v1.5.0 — consumer-contract testing, runnable-setup-as-docs, adversarial verify

Choose a tag to compare

@bjgreenberg bjgreenberg released this 30 Jun 22:42
v1.5.0
26b13e9

1.5.0 (2026-06-30)

Dogfooding again: two PRs' worth of lessons from a real build session where a fully green test
suite still shipped a broken integration
, plus an escalation of the verification step itself.

Features

  • Consumer-side contract testing — and "test the decision, not the component it renders" (#16, aeee0e5). A new-user flow shipped broken past a green suite: the UI was coded and mocked against an assumed response (200-with-empty) while the server correctly returned 403 — a false green no unit test caught. references/testing.md now requires a consumer's mock to encode the producer's real responses (status codes and error bodies), or a thin integration test across the seam — contract drift cuts both ways. And it calls out the sibling miss: a "thin" route/handler still owns the branch decision (which state to show, how to classify an error), so that logic must be extracted and tested — "the components are tested" is not "the orchestration is tested."
  • The runnable setup is documentation too (#16, aeee0e5). A required config var that never reached the dev compose crashed docker compose up at boot, long after the test suite was green. The documentation discipline (SKILL.md) now treats every launch surface — compose files, env templates, deploy manifests, the README quickstart — as documentation that must move in lockstep when a new required var is added, and treats the quickstart as a verifiable artifact you actually run before claiming it works.
  • Adversarial multi-lens verification for high-stakes diffs (#15, bf9f7db). The "verify before done" step now escalates a Tier-2 / security- or isolation-sensitive change to several independent, refute-first lenses — then re-reviews whatever folding the findings introduced. That loop is what catches a green-but-insufficient change (passes every gate, reads as correct, yet misses its scoped goal) that a single confirmatory read sails past. A multi-lens panel on a trivial diff is review-theater — match the breadth to the stakes.