also looking at this
fix(install): keep .env-inferred services out of pantry.lock
#254
4 files
+286
-70
| @@ -136,8 +136,11 @@ package, so a fresh checkout does not install cleanly and then fail to start: | ||
| 136 | 136 | - pantry prints each package it adds and the key that caused it, e.g. |
| 137 | 137 | `+ postgresql.org (from DB_CONNECTION=pgsql in .env; PANTRY_ENV_DEPS=0 to skip)`. |
| 138 | 138 | Only those keys are read, and no other `.env` value is printed. |
| 139 | - Under `--frozen-lockfile` a package is inferred only if `pantry.lock` | |
| 140 | already records it, so CI never drifts from the committed lock. | |
| 139 | - **An inference never reaches `pantry.lock`** — not the service, not what it | |
| 140 | pulls in, and not as a constraint on the workspace either. The lock records | |
| 141 | what the workspace declares, so it reads the same on every machine, whatever | |
| 142 | each developer's `.env` says. `--frozen-lockfile` therefore needs no special | |
| 143 | case: an inference cannot move the lock, so it cannot drift from it. | |
| 141 | 144 | - Set `PANTRY_ENV_DEPS=0` to turn inference off. |
| 142 | 145 | |
| 143 | 146 | ### Service Groups |