Save the file. Five jobs change.
Every workshop that runs more than two automations grows a shared layer — the decoding, the formatting, the awkward bit nobody wants to write twice. It usually lives in a synced folder and is imported directly, because that takes ten seconds and works. What it means is that saving that file is a deployment to every job at once, with no version, no release and no way to answer "which edit did this". Make an edit below and see who breaks, who notices, and who doesn't.
Honest-AI note. No model here. Two passes run over each edit — what actually breaks, and what a check that inspects each consumer's imports can see — and the blind spots on the page are the difference between them, computed rather than listed. That matters because the check is real and useful, and the temptation is to read its green tick as full coverage. It is not: it cannot see a consumer that shells out instead of importing, and it cannot see a function whose signature is unchanged and whose behaviour is not.
Edit the shared module
The five jobs that import it
Plain-language key (shared layer, consumer, import check, regression suite, signature)
- Shared layer
- Code more than one project uses. Convenient, and the fastest way to make one mistake in five places.
- Consumer
- A project that depends on it — by importing it, or by running it as a command, which is much harder to notice.
- Import check
- A tool that extracts the names each consumer imports and confirms they still exist. Catches renames and deletions; blind to everything else.
- Regression suite
- A consumer's own tests of the behaviour it depends on. The only thing that catches a change of meaning.
- Signature
- A function's name and arguments. Unchanged signature, changed behaviour, is the failure that slips through every structural check.