You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pipeline discipline: main is promote-only, sync owns pin realignment
Development happens on the dev pipeline (dev branch or feature branches);
the stable branch (main) only moves via 'lpb-devstack release promote'.
- pre-commit guard (validate check 0): committing on main fails the
hook unless the promote exemption is set. 'release promote' sets
LPB_ALLOW_MAIN_COMMIT=1 around its devstack VERSION-strip commit (the
one legitimate git commit on main — its merges don't trigger hooks).
Outside a hook, validate on main stays green and only warns.
- workspace sync re-aligns settings.json pins to the synced pipeline:
one command (sync --tag dev / --tag main) leaves repos, symlinks AND
pins consistent; realign_pins() shared with release promote (pins
follow the stable version right after promote — no leftover -lpb-dev).
- pin rewrites dedupe: a managed repo always ends up with exactly ONE
entry (pi maps every git:<owner>/<repo> entry to one storage dir;
duplicates raced during 'pi update --extensions').
- render --force guard: a stale pin of a repo the template owns is not
a user addition — dropped/re-pinned, never appended as an 'extra'
(this is what originally produced the duplicate 0.0.83-lpb-dev pins).
Tests: 6 new commit-guard tests + render/sync/dedupe cases; 16/16
localpibox suites and test_lpb (93) green.
0 commit comments