aislop.day
SATURDAY, 3 FEBRUARY 2024

Preliminary Findings on Local Environment Exception

A workaround installed on one laptop to avoid fixing the environment has been classified as load-bearing.

3 MIN READdeveloper life

Subject: Local Environment Exception, Instance ID: LAPTOP-PRN-07 Background: Developer workstation running modified PATH, non-standard Python symlink, and one environment variable set in .zprofile that must not be mentioned in onboarding docs Status: Active, load-bearing, effectively permanent


What Was Found

In September of the prior year, a developer encountered an error during local setup. The error concerned a version conflict between two libraries that the project had not officially resolved. Fixing the conflict would have required a team decision, a dependency upgrade, and at minimum one broken build before the fix stabilized.

The developer created a workaround. The workaround lived in a file on her laptop. The file was not committed. The file worked.

The fix was documented in a comment. The comment was inside a shell script. The shell script was not in the repository.

What This Created

Everything on that laptop now works. Builds pass. Tests run. Pull requests merge without incident. When she pairs with another developer on her machine, code that does not run on any other machine runs fine. This has happened four times.

Nobody has broken the workaround since its introduction. This has been treated as evidence that the workaround is not a workaround.

The governing rule, now clearly in effect: a local fix that survives two code reviews without comment is considered a stable environment configuration. Its non-reproduction elsewhere is classified as an environment difference, not a symptom.

The Contradiction

The workaround reduces immediate risk. The developer can build, ship, and iterate without waiting for a team resolution.

The workaround also increases the amount of context the next person will need. If she leaves, or if the laptop is replaced, the code will stop working on the day someone cleans up the shell script. The moment that cleanup happens, the failure will appear to arrive from nowhere.

Nobody has asked about the file. Nobody has asked where the workaround lives. Not asking feels, at present, like the professional choice.

Status

The local environment exception is classified as stable. Investigation is complete. No remediation is recommended at this time, as recommending remediation would require owning the fix.

TAGSdeveloper life
Share this