From 06b1a36320741efa0e1fc159bf0d4f101388c792 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sat, 2 May 2026 18:18:23 -0500 Subject: [PATCH] =?UTF-8?q?docs:=20update=20architecture=20section=20?= =?UTF-8?q?=E2=80=94=20sync=20engine=20clones=20templates=20at=20runtime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/WORKFLOW_STANDARDS.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/WORKFLOW_STANDARDS.md b/docs/WORKFLOW_STANDARDS.md index 47aab46..cd57904 100644 --- a/docs/WORKFLOW_STANDARDS.md +++ b/docs/WORKFLOW_STANDARDS.md @@ -13,7 +13,18 @@ MokoStandards-Template-Generic → MokoISOUpdatePortable, etc. MokoStandards-Template-Client → client-clarksvillefurs, client-kiddieland ``` -**MokoOnyx** is the living reference implementation for Joomla workflows. Template repos are the canonical source for distribution. The MokoStandards-API repo does NOT store workflow templates — it only has `bulk-repo-sync.yml` for its own CI. +**MokoOnyx** is the living reference implementation for Joomla workflows. Template repos are the **single source of truth** for workflow content. The MokoStandards-API repo does NOT store workflow templates — its sync engine (`RepositorySynchronizer.php`) clones template repos at runtime to get the latest workflows. + +### How Sync Works + +``` +bulk-repo-sync.yml (API repo) + → RepositorySynchronizer.php detects platform type + → Clones the matching template repo to /tmp/ + → Copies .gitea/workflows/*.yml from template → target repo +``` + +No workflow files are stored in the API repo. This prevents drift. ## Template Repos