@timekast/factory 1.23.0 → 1.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -258,6 +258,19 @@ export function emptyShippedE2EPort(pkgPath) {
258
258
  return 'already-empty';
259
259
  if (current !== SHIPPED_E2E_PORT)
260
260
  return 'preserved';
261
+ // 🔴 The VALUE alone cannot tell "the kit's obsolete default" from "the dev deliberately wants
262
+ // this number". A project whose specs assemble their own origins from this key has to pin it,
263
+ // and the number it pins back is `3006` — the very one this function empties. Every update then
264
+ // re-emptied it and the suite broke again, silently, on a re-run of something that had already
265
+ // been fixed. Worse, the rebuild below DROPS the existing `//e2e` and writes the kit's, so the
266
+ // reason the dev wrote down disappeared along with the value.
267
+ //
268
+ // So the sibling comment carries the intent: the kit only ever writes ITS OWN text there, so a
269
+ // different one means a human wrote it. That is a decision, and the kit does not overrule it.
270
+ // Reported by a derivative, 2026-08-14.
271
+ const comment = block[PORTS_E2E_COMMENT_KEY];
272
+ if (typeof comment === 'string' && comment !== PORTS_E2E_COMMENT)
273
+ return 'preserved';
261
274
  // Rebuilt rather than assigned in place: an object literal's key order is its insertion
262
275
  // order, so this is what puts the comment immediately before the key it describes while
263
276
  // leaving every sibling (`dev`, whatever else the project keeps here) where it was. An
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timekast/factory",
3
- "version": "1.23.0",
3
+ "version": "1.23.1",
4
4
  "description": "Public, thin CLI to bootstrap and maintain TimeKast Factory derived projects.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",