- Status: accepted · Date: 2026-07-17 · Deciders: Davor Runje
Refined by ADR-0023. Engineering is delegated via the engineering-delegation contract to a bound engineering backend, naming no specific tool. The original decision named one; that framing is superseded.
Context
The full research lifecycle includes both scientific work (claims, evidence, decisions, papers) and engineering (designing/building the code that produces evidence). Mature engineering workflows already handle the latter well (design → plan → implement).Decision drivers
- Don’t reinvent engineering workflows; keep
honest-scholar’s identity sharp. - The scientific parts (rigor, positioning, decisions) are what’s missing.
Considered options
- Scientific scope only; delegate engineering via a contract to a bound engineering backend.
- One plugin covering both science and engineering.
Decision
Option 1.hypothesis-testing hands design/plan/implementation to the bound
engineering backend via the engineering-delegation contract
(resources/contracts/engineering.md) and stores the artifacts under the
hypothesis folder.
Consequences
- Clean separation;
honest-scholarcomposes with an engineering backend rather than competing with one. - A dependency on some engineering backend for the engineering leg (acceptable;
the consumer binds whatever it uses in
.honest-scholar/config.yml).
Rejected alternatives
- All-in-one plugin — duplicates mature engineering tools, bloats scope, blurs identity.