Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

ADR 26011: Formalization of the Mandatory Script Suite Workflow

Title

Mandating a synchronized 1:1:1 ratio for Scripts, Tests, and Documentation.

Status

Proposed

Date

2026-01-26

Context

As the repository grows, documentation drift and untested utility scripts create significant maintenance debt. Developers often follow outdated instructions or encounter broken scripts that lack corresponding test cases.

Current architectural decisions established Python as the standard for hooks ADR 26001 and pre-commit as the orchestration framework ADR 26002. We now require a formal mechanism to ensure that no script is introduced or modified without its accompanying verification and instructional artifacts.

Here we are decoupling the Script Suite Concept—the mandatory 1:1:1 ratio of Code:Test:Doc—from the Tiered Commit Validation logic ADR 26003. This ADR focuses exclusively on the structural integrity of the tools/ directory and the automation required to enforce it.

The challenge identified is Knowledge Fragmentation. When a script is updated but its test or documentation is not, the repository’s “Smallest Viable Architecture” (SVA) degrades into technical debt. By formalizing the “Suite” as a single atomic unit, we move from passive documentation to Active Specification Enforcement.

Decision

We will enforce the Script Suite as a mandatory unit of development. A “Suite” is defined by the existence of three interconnected files following a strict naming convention:

  1. The Script: Located in tools/scripts/<name>.py.

  2. The Test: Located in tools/tests/test_<name>.py.

  3. The Documentation: Located in tools/docs/scripts_instructions/<name>_py_script.md and its .ipynb pair.

Enforcement Mechanisms:

Consequences

Positive

Negative

Alternatives

References

Participants

  1. Vadim Rudakov

  2. Gemini (Senior DevOps Systems Architect)