hecks

The first external adoption target is a standalone rules service

Status: Accepted — partly implemented. Date: 2026-09-27. The two pieces the target needs (see “Consequences”) now exist as docs/running-a-rules-service.md, with its known gaps listed. The exit test, an outside team following it with only the docs, has not been run.

Context

The roadmap is wider than one team can serve at once: Rails integration, an OIDC provider, ISO traceability, an onboarding domain, UL projections, SQL stored-procedure compilation and more. The ticket that gathered the options is docs/wayfinder/review-followup/tickets/10-adoption-wedge.md. docs/HECKS_IMPLEMENTATION_PLAN.md is dated 2026-08-07 (its header, line 7) and part of it is stale, so this ADR quotes the plan’s own status labels and does not restate sizes. Its sections 12 and 15 to 24 carry labels such as “New executable protocol projection” (line 1310), “New projection class” (line 1433), “New onboarding feature” (line 1614) and “New adjacent workflow” (line 1828). Sections 28 and 29 are “New product layer” (line 2038) and “Research/product tooling” (line 2083).

What is proven and what is not, from the same ticket and the code:

Decision

  1. The first external adoption target is a standalone rules service. A team outside the project runs the host behind an API, and its clients need not be Ruby.
  2. The exit test is: an outside team defines a bluebook, deploys the host to their own account, and calls it from a non-Ruby client with only the docs.
  3. Rails integration is held as a fast-follow, to start once one outsider has run a service. docs/rails-integration.md stays “design only” until then.
  4. The UL, onboarding, ISO traceability and OIDC-provider work is deferred until the exit test passes. That is sections 12, 15 to 24 and 28 to 29 of docs/HECKS_IMPLEMENTATION_PLAN.md.
  5. The group_by, sum and dotted-compute correctness fixes are kept, as ADR 0065 sequences them, because each costs a real user a correct answer.

Consequences

Alternatives considered

Open items