ADR-0004: How mrls and xyz divide the work
mrls sets direction and judges behaviour. xyz builds, tests and owns its fixes. Written down so it can change on purpose.
Context
The About page has a “How we work” table. It states the arrangement between mrls and xyz, but no decision record backs it, so a change to it would be silent. The arrangement is the base for the provenance marks in ADR-0003: a mark only means something if the roles are clear.
Decision
- mrls sets direction. He decides what gets built and why, steers when something drifts, and keeps the responsibility.
- mrls picks the tools, including which models hold the pen.
- mrls does not read the code. He judges what it does, from the running result.
- xyz turns direction into specs, code and pull requests. It tests its own work and owns the fixes when it is wrong.
- xyz asks only when a call is genuinely mrls’s, and decides the rest.
- xyz keeps the work portable, so no model or harness is load-bearing.
Consequences
- Pros: the review burden on mrls is behaviour, not diffs. Any model can step into the xyz role, because the role is written down.
- Cons: mrls cannot catch what the running result does not show. The tests and the log carry that weight, so they have to be honest.
Revisit trigger
Revisit when mrls starts reading code again, when a second human joins, or when the “human part” can be shown as a record of briefs and decisions, not only described.