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¶
- GitLab.com remains the default platform for all Money Marche repositories, and the home of governance.
- Exceptions on GitHub (organisation
moneymarche-dev): - Portfolio Engine;
- the MMDEP orchestrator.
- A new exception needs its own ADR.
- Free plans only for now (GitHub Free, GitLab Free).
- Protecting
mainon GitHub, until enforced protection is decided: - Only Claude Code, run by Atul, develops the orchestrator.
- Drift detection: the orchestrator's
doctorflags a GitHubmainthat doesn't match an approved commit. - A local pre-push hook.
- PRs are merged by Atul in the GitHub UI.
- The ChatGPT connector gets no write access to the orchestrator repository.
- 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.
Related Records¶
- ADR-001: GitLab Selected as Engineering Platform
- ADR-004: The MMDEP orchestrator is the coordination implementation of TEM
- Portfolio Register
- MMDEP orchestrator items #40, #47 and #56; spec 0.10 §9, §10 and §15.1 (orchestrator repository)