Skip to content

ADR-005

Title

Amend ADR-001: GitHub allowed for the MMDEP orchestrator and Portfolio Engine

Status

Proposed (draft by Claude Code from Atul's decision in MMDEP orchestrator item #47, 2026-10-03). Amends ADR-001; ADR-001 stays Accepted for everything else.

Context

ADR-001 selected GitLab.com as the engineering platform, with the consequence "All repositories shall reside under the Money Marche Group."

Two repositories already live on GitHub:

  • Portfolio Engine: moneymarche-dev/portfolio-engine (already listed in the Portfolio Register);
  • the MMDEP orchestrator: moneymarche-dev/MMDEP, pushed after the orchestrator's item #40.

Item #47 (DR-001) decided that the orchestrator's code stays in its own repository, on GitHub for now, while estate knowledge lives in this governance repo.

A finding from item #56: a private repository on GitHub Free doesn't enforce branch protection or rulesets. The API returns 403 "Upgrade to GitHub Pro or make this repository public".

Decision

  1. GitLab.com remains the default platform for all Money Marche repositories, and the home of governance.
  2. Exceptions on GitHub (organisation moneymarche-dev):
  3. Portfolio Engine;
  4. the MMDEP orchestrator.
  5. A new exception needs its own ADR.
  6. Free plans only for now (GitHub Free, GitLab Free).
  7. Protecting main on GitHub, until enforced protection is decided:
  8. Only Claude Code, run by Atul, develops the orchestrator.
  9. Drift detection: the orchestrator's doctor flags a GitHub main that doesn't match an approved commit.
  10. A local pre-push hook.
  11. PRs are merged by Atul in the GitHub UI.
  12. The ChatGPT connector gets no write access to the orchestrator repository.
  13. Projects where ChatGPT or other agents write live on GitLab Free, with a protected main.

Alternatives

  • Move both repositories to GitLab now. Not chosen now: it works against how Portfolio Engine is already set up, and gains nothing until enforced protection is needed.
  • GitHub Pro for enforced protection now. Deferred: free plans only in this phase. Decided when the orchestrator's development phase 2 starts.
  • Make the repositories public (rulesets would then be enforced). Rejected: the code and plans are internal.

Consequences

  • ADR-001's consequence "All repositories shall reside under the Money Marche Group" now reads: "…except the GitHub repositories listed in ADR-005".
  • The Portfolio Register lists each GitHub repository with its forge.
  • Revisit when the orchestrator's development phase 2 starts (enforced protection: GitLab Free or GitHub Pro), or when TEM moves repositories.