Skip to content
This repository was archived by the owner on Oct 10, 2025. It is now read-only.

Conversation

da2ce7
Copy link

@da2ce7 da2ce7 commented Jul 9, 2025

This commit introduces a comprehensive set of proposals (ADRs 004-007) to migrate the project's automation from a Makefile/shell script system to an engineered toolchain based on Meson and modern Perl.

This strategic shift aims to improve the long-term reliability, maintainability, security, and testability of the project's internal tooling, bringing it into alignment with the Twelve-Factor App methodology.

The proposals are as follows:

  • ADR-004: Adopt a Modernized Automation Toolchain: Establishes the high-level strategy of using Meson as the interface and Perl for logic, benchmarked against Debian Stable.

  • ADR-005: Adopt Test-Driven Implementation and Structure: Defines the implementation plan, including a new automation/ directory, a test-driven standard, and a clean "flag day" migration that supersedes ADR-001.

  • ADR-006: Adopt Perl Coding and Security Standards: Sets quality and security gates for the new Perl codebase, including mandatory pragmas, taint mode, and linting.

  • ADR-007: Adopt Meson Build System Principles: Lays out architectural conventions for using Meson to ensure the build system remains modular and robust.

Related changes:

  • docs/README.md is updated to include these new proposals.
  • .gitignore is updated to exclude common log and report files.

This commit introduces a comprehensive set of proposals (ADRs 004-007)
to migrate the project's automation from a Makefile/shell script system
to an engineered toolchain based on Meson and modern Perl.

This strategic shift aims to improve the long-term reliability,
maintainability, security, and testability of the project's internal
tooling, bringing it into alignment with the Twelve-Factor App
methodology.

The proposals are as follows:

- **ADR-004: Adopt a Modernized Automation Toolchain**: Establishes the
  high-level strategy of using Meson as the interface and Perl for
  logic, benchmarked against Debian Stable.

- **ADR-005: Adopt Test-Driven Implementation and Structure**: Defines the
  implementation plan, including a new `automation/` directory, a
  test-driven standard, and a clean "flag day" migration that
  supersedes ADR-001.

- **ADR-006: Adopt Perl Coding and Security Standards**: Sets quality and
  security gates for the new Perl codebase, including mandatory
  pragmas, taint mode, and linting.

- **ADR-007: Adopt Meson Build System Principles**: Lays out architectural
  conventions for using Meson to ensure the build system remains modular
  and robust.

Related changes:
- `docs/README.md` is updated to include these new proposals.
- `.gitignore` is updated to exclude common log and report files.
@da2ce7 da2ce7 changed the title docs(adr): propose migration to Meson/Perl automation toolchain docs(adr): [#17] propose migration to Meson/Perl automation toolchain Jul 9, 2025
josecelano pushed a commit that referenced this pull request Aug 11, 2025
- Add ADR-009: Proposal to Adopt a Modernized Automation Toolchain
- Add ADR-010: Proposal for a Test-Driven Implementation and Structure
- Add ADR-011: Proposal for Perl Coding and Security Standards
- Add ADR-012: Proposal for Meson Build System Principles and Conventions

These ADRs were copied from PR #16 and renumbered to avoid conflicts
with the existing ADR sequence. They are placed in docs/adr/draft/
for review and potential integration.
@josecelano
Copy link
Member

Superseeded by #30

@josecelano josecelano closed this Aug 11, 2025
josecelano added a commit that referenced this pull request Aug 11, 2025
64a6c62 feat: add draft ADRs from PR #16 (Cameron Garnham)

Pull request description:

  This PR adds the draft ADRs from PR #16 to the `docs/adr/draft/` folder for review and potential integration.

  ## Changes

  - **ADR-009**: Proposal to Adopt a Modernized Automation Toolchain
  - **ADR-010**: Proposal for a Test-Driven Implementation and Structure
  - **ADR-011**: Proposal for Perl Coding and Security Standards
  - **ADR-012**: Proposal for Meson Build System Principles and Conventions

  ## Context

  These ADRs were originally proposed in PR #16 but were copied to avoid conflicts with the existing ADR sequence. They are placed in `docs/adr/draft/` for review and potential integration into the main ADR sequence.

  ## Author Attribution

  Original author: Cameron Garnham (@da2ce7)
  Extracted from: PR #16

  ## Review Notes

  - ADRs have been renumbered from 004-007 to 009-012 to avoid conflicts
  - Internal cross-references have been updated to maintain consistency
  - Markdown lint issues have been fixed for better readability
  - Content remains unchanged from the original proposals

  Related to PR #16

ACKs for top commit:
  josecelano:
    ACK 64a6c62

Tree-SHA512: ccc33b16436af47647e793b925cbd46da8c92c422ea8a204dcfe70b9f8b7217d8ac26d7c968ad7a5da14e1dc1dfd73ec37683688d8f7b0fd37aea0b6203b3864
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants