Version: 1.1.0 Last Updated: 2026-05-15 Status: ActiveDocumentation Index
Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
Use this file to discover all available pages before exploring further.
Purpose
Define a single-source-of-truth branch model for:origin(Encore-OS/encoreos)encore_lovable(Encore-OS/encoreos-87a1bffc)
Canonical Source
- Canonical remote:
origin - Canonical long-lived branches:
origin/developmentorigin/production
encore_lovable is a mirror target for development only — it is never a commit source.
Allowed Flow
- Land feature work into
origin/developmentvia PR (from both IDE tooling and Lovable-sourced branches). - After CI success on
origin/development, this workflow auto-mirrors toencore_lovable/development. - Promote to production from
originonly.
Disallowed Flow
- No merging
encore_lovable/*back intoorigin/*without cherry-pick review via a PR. - No cherry-pick ping-pong between
originandencore_lovable. - No direct push to
encore_lovable/developmentfor non-emergency purposes. - No production PRs sourced from branches that contain
encore_lovable-only history.
Mirror Automation
Workflow:.github/workflows/mirror-development-to-encore-lovable.yml
Required repository secret:
ENCORE_LOVABLE_MIRROR_PAT: fine-grained PAT with push access toEncore-OS/encoreos-87a1bffc.
- Triggered on push to
development. - Fetches
encore_lovable/developmentand counts commits not onorigin. - If
encore_lovablehas diverged (unique commits), the workflow fails immediately with remediation steps in the job summary. - If in-sync or origin-ahead: fast-forward pushes
origin/development→encore_lovable/development. - Non-FF push is not attempted automatically; force operations require explicit manual step.
Developer Mirror Commands
| Command | Effect |
|---|---|
npm run sync:mirror:status | Dry-run: fetch and report status, no push |
npm run sync:mirror | Normal mirror: push origin → encore_lovable (fails fast on divergence) |
npm run sync:mirror:force-reset | DESTRUCTIVE: reset encore_lovable to origin state (prompts for confirmation) |
sync:dev, sync:dev:status, sync:lovable, sync:lovable:status still work.
Manual Recovery Procedure
Ifencore_lovable/development has diverged:
Step 1 — Inspect the divergence
Step 2A — Preserve Lovable-only commits (recommended)
- Identify commits that should be preserved.
- Create a branch off
origin/development: - Open a PR to
origin/development, get CI green, merge. - Re-run the mirror:
npm run sync:mirror
Step 2B — Discard Lovable-only commits
Only use this when the commits onencore_lovable are confirmed as disposable (e.g., Lovable experimentation not worth preserving):
origin/development to encore_lovable/development. Requires typing yes at the prompt.
Step 3 — Confirm both remotes are in sync
IN SYNC.
Production Release Rule
Production merges must satisfy all:- Branch source is canonical
originhistory only. - Required CI checks are green.
- Branch divergence is reviewed.
- No unresolved merge conflicts.
encore_lovableis in sync or cleanly behindorigin(no unique commits on lovable).