AI Bits #8: Environment handovers and a 2023 Proton correction
Make the next operator's first run inspectable
For AI-assisted builders documenting a development environment—not a recommendation to switch operating systems.
What does the source establish?
The public abstract describes a 2023 comparison of Proton and native Windows for video gaming. Full methods and results were not available for this correction.
What was corrected?
Removed unsupported causal attributions about Windows background services and extrapolation to AI inference or developer productivity.
What can you use?
A twelve-file kit, a completed local record and a checker that distinguishes file identity from executed tests and delivery approval.
An AI-assisted build that runs on your laptop is not yet a demonstrated handover. If you want to deliver a scoped project for someone else, give its next operator the source identity, setup, commands, expected result and known failures. This guide supplies a completed teaching example you can inspect and repeat; it does not qualify you for client work or recommend an operating-system change.
What the 2023 paper actually covers
Marek Kopel and Michał Bożek’s “Is Proton Good Enough?” — A Performance Comparison Between Gaming on Windows and Linux was published online on 13 September 2023 in the ICCCI 2023 proceedings. Its public abstract describes comparing Proton with native Windows for video gaming.
The publisher page exposes an abstract, not the complete methods and results available through subscription access. This correction has not verified individual game outcomes, hardware configurations, driver versions, measured overhead or a causal explanation for any difference. We therefore give no numeric result, winner or recommendation based on those unavailable details.
Valve’s official Proton repository describes a Steam Play compatibility tool based on Wine and additional components for running Windows games on Linux. That is a specific purpose, not a blanket compatibility promise for development applications.
Separate a benchmark result from a new claim
| Claim | Needed evidence | Status in this article |
|---|---|---|
| The paper compares gaming environments. | Publisher abstract and bibliographic record. | Checked. |
| A particular game performed better on one setup. | Full results with workload, versions, settings and measurement method. | Not verified here. |
| Background services caused the difference. | A design isolating that factor and considering alternatives. | Not established by the accessible abstract. |
| The same advantage applies to AI inference or build pipelines. | A separate relevant benchmark with comparable output correctness and conditions. | No such benchmark was run for this article. |
“Plausible explanation” and “measured cause” are different statements. Drivers, settings, caching, workload mix and measurement choices can change a comparison. Do not select a favourite explanation without evidence that separates it from alternatives.
The builder task: make your environment inspectable
If you use AI coding tools to deliver software, a more useful next step than choosing an OS winner is documenting the environment someone else needs to reproduce your work. Code that runs only on your laptop is not yet a demonstrated handover.
The completed record below uses the learning guide's review-only classification lab. Its seven existing files remain unchanged; this article adds five handover files. Both classifiers are keyword rules, not an AI model or client system. All fourteen examples are fictional and were visible during authoring.
The read-only checker compares seven named files with expected-files.json and reports Node/V8, platform, architecture and kernel. It does not execute those files, inspect extra files, install dependencies or open a network connection. Its report excludes usernames, hostnames, local paths and environment-variable values. Hashes establish identity against this manifest, not authenticity if both are altered, runtime compatibility or protection against later file changes.
Copy a blank manifest for your own permitted project
This template is not a completed reproduction claim. Fill it from actual observations, including container/VM layers where used.
Environment handover — redact identifying paths and secrets
Task, repository URL and exact commit:
Host OS/version and architecture:
Runtime and package-manager versions:
Dependency lockfile and clean-install command:
Container/VM layer and image digest, if used:
GPU/driver/accelerator versions, or not applicable:
Required configuration variable names (never secret values):
Permitted fixture input and expected output:
Test/run commands and observed exit status:
Known failures, unsupported environments and manual fallback:
Reproduction date, operator and evidence location:
What was not tested:Keep secrets out of manifests and logs. Name required variables and how an authorised operator obtains them; do not publish tokens, customer records or unredacted machine paths. Ask permission before sharing client source or a reproduction bundle.
Download and repeat the recorded handover
Download the complete environment handover kit — twelve files in two folders, including all seven learning-lab files. No package installation, API key, GPU or container is needed for these dependency-free Node scripts. The recorded run used Node v25.2.1 on macOS arm64; other versions and operating systems need their own verification.
Extract the ZIP, keep its two folders together and open a terminal in their parent folder. Inspect the JavaScript first, then run each command separately:
node --version
node environment-handover/inspect.mjs
node --test --test-reporter=tap ai-builder-lab/triage.test.mjs ai-builder-lab/change-review.test.mjs environment-handover/inspect.test.mjs
node ai-builder-lab/change-review.mjsThe inspector exits 0 for FILES_MATCH, 2 for a mismatch and 1 for invalid usage or manifest. The test command exits 0. The final change review deliberately exits 2 / HOLD because the classifier still fails the teaching task. These are different checks: 24 passing code tests do not cancel that HOLD. See the handover for recording exit status in your shell.
| Check | Recorded outcome | What it does not establish |
|---|---|---|
| File identity | 7/7 files match; exit 0 | The checker itself did not execute the lab or approve it. |
| Executed code tests | 24/24 pass; 0 fail; exit 0 | 15 lab tests and 9 checker tests reproduce behaviour, including known defects. |
| Executed classification comparison | Baseline 9/14; candidate 12/14; HOLD, exit 2 | The full output matches the supplied change record, but retains 2 failures including 1 regression. |
| Missing triage.mjs in a separate disposable copy | missing; exit 2 | Deliberately altered disposable copy; no source was executed by the checker. |
| Changed triage.mjs in the same disposable copy | different; exit 2 | Deliberately altered disposable copy; no source was executed by the checker. |
For the candidate, c3 loses the active appointment-date request when the whole “not about” clause is discarded; c5 still misses “Can I reschedule?”. Keep both. The higher combined count is not general language understanding, customer accuracy or evidence from independent evaluation.
The complete HANDOVER.md records all manifest fields, actual macOS/runtime versions, excluded dependencies, failure handling and pending recipient review. Other inspectable files:
The record was generated by a Codex-assisted local run. It identifies this uncommitted draft by file hashes; it does not attest a Git release or independent human review. Review even a minimal version/hash record before sharing. The checker does not sanitise other programs' logs, which may contain private paths or data.
What a recipient still needs to do
- Record the downloaded source hashes, date, actual environment and exact commands. Do not overwrite the supplied author's record with your result.
- Run the tests and compare the full classification output with
change-record.json. Preserve all failures and exit statuses, not only a headline score. - Ask another person to follow the same instructions without your unstated setup steps. Record their environment and outcome separately. Their runtime fields may differ even if the source and deterministic result match.
- If the outcomes differ, reduce the problem to the smallest reproducible input. Note the mismatch before modifying dependencies or deleting a failing test.
- Update the manifest with both the working setup and what remains untested. A second local run is not an independent reproduction.
No independent recipient has completed that review here. A second local run is not an independent reproduction. No Windows/Linux, clean-OS installation, GPU or API compatibility is claimed. If your project needs those, document and test them separately.
Troubleshoot the first difference, not the whole operating system
| Observation | Next check |
|---|---|
| Node is unavailable | Use your team's approved runtime setup and record its version. This kit does not install it. |
| Inspector exits 1 | Check arguments and the supplied manifest. For a different folder use --lab "PATH TO COPY". |
| Missing or different file | Check extraction and exact names, then inspect the diff. Do not update the expected hash merely to hide a mismatch. |
| File check passes, execution fails | Retain Node/OS, the first failing test and permitted input/output. Same source bytes do not prove compatibility. |
| Tests pass, change review is HOLD | That is expected for this fixture. Correct the task failure in a separately versioned change; do not delete the failure case. |
Practise a missing-file check only in a disposable copy: move triage.mjs out, inspect that copy, then restore it. The recorded demonstration did this and also checked a changed file. Neither result is evidence about an operating system's speed.
If performance matters, write a comparison plan first
Define the actual task, equivalent correct output, hardware/resource constraints and metric. For an inference workflow, distinguish completion latency, throughput and output quality; a faster wrong result is not an equivalent result. Record model/version, input set, concurrency, cache state and failures.
Repeat runs under a documented procedure, preserve individual observations and report variability instead of choosing the fastest run. Separate setup or warm-up from measured work, explain which costs are included and avoid changing several factors while attributing the result to one. These are planning questions, not a completed experimental protocol or benchmark.
Only claim support for the configurations tested. A local comparison does not establish a universal OS ranking, a customer's future workload performance or business savings.
Turn evidence into a useful handover
Include the manifest, permitted inputs, commands, expected output, failed cases and a clear account of your own contribution. Explain what AI coding tools generated, what you reviewed and why the result satisfies the requested behaviour. Ask a systems reviewer to reproduce consequential setup and compatibility claims before relying on them in client delivery.
For a client project, also account for review and rework time: the coding delivery-effort guide separates code-writing speed from accepted delivery. When you have your own permitted build evidence—not just this supplied starter—you can use it in a Studio application.
A practical next step with MLAI
Can someone else reproduce what you built?
Have your own AI-assisted build that another operator can inspect? Share a permitted demo or repository, your contribution, tests and handover limits. Apply for consideration for scoped, paid projects; selection and matching depend on fit and availability.
Apply with delivery evidenceStudio's public positioning is Australian; New Zealand contractor eligibility has not been verified here. Confirm eligibility before assuming acceptance. If you are simply curious about these questions, find a relevant MLAI event. Application and project matching are not guaranteed.
Source scope rechecked 10 September 2026: Springer public abstract and Valve repository documentation. The new kit was run locally; no full-text paper review, independent environment reproduction or OS/AI performance benchmark is claimed.
Frequently Asked Questions
Does this paper prove Linux is faster for AI inference?
Is Proton a general solution for Windows development tools?
Does passing a local test prove a handover is reproducible?
Should I change operating systems to build AI projects?
Disclaimer: This article provides general information and is not legal or technical advice. For official guidelines on the safe and responsible use of AI, please refer to the Australian Government’s Guidance for AI Adoption →
A practical next step with MLAI
Can someone else reproduce what you built?
Have your own AI-assisted build that another operator can inspect? Share a permitted demo or repository, your contribution, tests and handover limits. Apply for consideration for scoped, paid projects; selection and matching depend on fit and availability.
Apply with delivery evidence