The gitea->mokogit sed merged two distinct token env vars (GITEA_TOKEN + MOKOGITEA_TOKEN)
into duplicate getenv('MOKOGIT_TOKEN') reads in version_reset_dev, release_cascade, and
release_create. Collapse to a single read. Found in PR #356 code review.
manifest_element detects platform from files instead of the retired manifest. Remove the
unused ManifestReader class. manifest_licensing self-skips when the manifest is absent
(correct retirement behavior); manifest_read already uses the API + file auto-detection.
- version_auto_bump: drop manifest watch-path read (always-bump fallback)
- push_files + repo_cleanup: read platform/standards_version from the metadata API
- deploy_joomla: drop manifest <deploy><source-dir>, use the source-dir resolution chain
release_package, release_create, release_validate, version_reset_dev now detect platform
from repo files via PlatformDetector instead of reading the retired .mokogitea/manifest.xml.
version_reset_dev returns stamp vocab to preserve caller behavior.
New file-based PlatformDetector::detect() (canonical names) + toStampPlatform() mapping
(joomla->waas-component, dolibarr->crm-module) replaces the retired manifest <platform>
read. Unit-verified: joomla/dolibarr/go fixtures map correctly so version stamping still
fires on the right branch.
Remove the .mokogitea/manifest.xml read/write branches; README.md + platform files are
the version sources/targets. Manifest is retired (never created), so these guarded reads
were dead paths.
Remove the manifest read + backfill from version_read; README.md is now the canonical
version source (Joomla XML / package.json / pyproject.toml remain fallbacks). version_prefix
defaults to empty (comes from the metadata API when needed, not a committed manifest).
.mokogitea/manifest.xml is retired; repo metadata now comes from the MokoGit metadata API.
Remove the tools whose sole job was creating/pushing it:
- automation/{enrich_manifest_xml,enrich_mokostandards_xml,push_manifest_xml,push_mokostandards_xml}.php
- create_repo.php manifest-creation step (Step 3)
- bin/moko bulk:{push-manifest,push-mokostandards,enrich-manifest,enrich-mokostandards} entries
After stamping the manifest <version>, write a comment-only no-op marker named exactly
<version>.sql at the admin-relative <schemas><schemapath> when one is declared and absent.
Keeps #__schemas in lockstep with the manifest so com_installer stops reporting the
component a schema version behind. Idempotent; reads the stamped version back from each
manifest so the marker never exceeds it.
Half-migrated scaffolding wrote/looked-up the OLD .mokogitea/workflows path while
workflow_sync wrote the migrated .mokogit/workflows; a later dir rename collided into
the existing .mokogit and produced .mokogit/.mokogit nesting. Repoints repo_wizard,
release, bulk_workflow_push, and UnifiedValidation to the canonical path.
- Delete cli/updates_xml_build.php, cli/updates_xml_sync.php and
lib/plugins/Joomla/UpdateXmlGenerator.php (MokoGitea now generates
updates dynamically)
- Add cli/workflow_sync.php and custom self-update-runner workflow
- Trim overgrown .gitignore and drop .mokogitea/branch-protection.yml
- Simplify release/validate CLI scripts and MCP server workflows
- Refresh Joomla templates and PHPStan baseline