Mos amended ruling (2): with no environment location for
MOSAIC_LEASE_VERSION_PROBE_COMMAND, the wrapper sends only
`__lease-capability` to ~/.npm-global/bin/mosaic-old, so the old CLI's
lease gate still gets its answer. Every other subcommand reaches the
pinned worktree; undo removes the forward with the wrapper. update now
rewrites the wrapper, and status flags a wrapper that differs from what
the script writes. Checked live at 21:17:58Z: the probe answered
{"name":"lease-runtime-activation","version":1}, exit 0.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
1.5 KiB
1.5 KiB
Q81 (2): lease gate env, read-only findings, 2026-10-11
- activation_version_gate.py:94-104 reads MOSAIC_LEASE_VERSION_PROBE_COMMAND from the
environment it is handed (shlex.split), else
shutil.which("mosaic", PATH). - launch-runtime.py:129 uses os.environ unchanged; it inherits the old CLI's process env, which inherits from whatever runs the old CLI (shell, provisioning, a unit). It reads no env file of its own.
- So there is no single env location to set. Candidates and their problems:
- ~/.config/environment.d/*.conf: reaches systemd user services only, not shells.
- shell rc files: Jason's dotfiles, out of scope.
- fleet unit drop-ins or ~/.mosaic / ~/.config/mosaic files: fleet state, read-only for me.
- Alternative inside files Q81 owns: the new wrapper forwards only
__lease-capabilityto ~/.npm-global/bin/mosaic-old. Same effect as the env var (the real old CLI answers), no env file, removed by undo. Needs Mos's ok, since it differs from the ruling's mechanism.
Amendment, 2026-10-11T21:17Z (Mos, amending ruling (2))
Mos ruled the env location the original ruling assumed doesn't exist, so the
wrapper forwards instead. mosaic __lease-capability goes to
~/.npm-global/bin/mosaic-old; every other subcommand goes to the pinned
worktree. undo removes the wrapper and the forward with it. Checked at
21:17:58Z in a login shell: mosaic __lease-capability answered
{"name":"lease-runtime-activation","version":1} with exit 0, and mosaic bus status and mosaic launches list still answered from the worktree.