Commit Graph
2 Commits
Author SHA1 Message Date
code-infra-01 e3944935cc Merge remote-tracking branch 'origin/next' into fix/1327-setuppath-idempotency
ci/woodpecker/pr/ci Pipeline was successful
2026-08-20 10:57:01 -05:00
code-infra-01 ebbf682374 fix(#1327): sentinel-managed PATH block, default-home-only profile writes
setupPath() guarded its profile append on the binDir value it was about
to write, which is blind to accumulation across different Mosaic homes:
every wizard run against a fresh temp home appended a permanent # Mosaic
block to the operator's real shell profile (1,061 measured appends on
sb-it-1-dt, naming 1,058 unique /tmp dirs of which zero exist).

- S1/S5: managed block between >>> mosaic begin/end <<< sentinels,
  rewritten in place, both the POSIX and $env:Path arms
- S2: a target home that is not the resolved default skips the profile
  write entirely; a test harness can no longer touch the operator profile
- S3: byte-identical profile across repeated runs (any homes)
- S4: legacy unmarked # Mosaic pairs collapse into the managed block

S2 arm captured RED against pre-fix code (expected 'skipped', got
'added'), then GREEN post-fix; full suite 1585 passed.
2026-08-19 18:24:52 -05:00