This checkout is not a monorepo.
Blessed sibling workspace:
<workspace>/
mesh-lang/
hyperpush-mono/
mesher/
mesher/client/
mesher/landing/
GitHub authority is split:
mesh-langowns language/toolchain/docs/installers/registry/packages/public-site surfaces.hyperpush-mono/hyperpushownsmesher/, the dashboard package atmesher/client/, and the Next.js landing app atmesher/landing/.- GitHub Actions secrets are repo-scoped:
mesh-langworkflows cannot read secrets that exist only onhyperpush, so deploy/release/publish secrets must be present onmesh-langitself or shared to it as organization secrets.
The local mesh-lang/mesher path is only a compatibility symlink into the sibling product repo.
If you edit mesh-lang/mesher/..., those changes belong to ../hyperpush-mono, not to mesh-lang.
From mesh-lang/, run:
bash scripts/workspace-git.sh statusThis shows both repos, their current branches, and whether the tracked split pre-push guards are active.
Install the tracked hooks once per clone/worktree:
bash scripts/workspace-git.sh install-hooksIf this is only a standalone mesh-lang clone with no sibling product repo, use the repo-local installer instead:
bash scripts/install-git-hooks.shPush the owning repo explicitly:
bash scripts/workspace-git.sh push mesh-lang
bash scripts/workspace-git.sh push hyperpush-mono
bash scripts/workspace-git.sh push bothThe helper refuses to push a dirty target repo.
The tracked pre-push hooks also refuse accidental partial pushes when the sibling repo is dirty.
If a one-sided push is truly intentional, bypass the hook for that command only:
M055_ALLOW_PARTIAL_PUSH=1 git push ...- Do not assume one repo's branch graph applies to the other repo.
- Do not commit or push product changes from
mesh-langjust because they appeared undermesh-lang/mesherlocally. - Do not copy product files back into
mesh-langto "make the push work". ack intomesh-langto "make the push work". iles back intomesh-langto "make the push work".