Skip to content

feat: add process-local startup update check opt-out - #371

Merged
Brian Krabach (bkrabach) merged 2 commits into
mainfrom
work/skip-startup-update-check-pr
Oct 12, 2026
Merged

Brian Krabach (bkrabach) merged 2 commits into
mainfrom
work/skip-startup-update-check-pr

Conversation

@bkrabach

Copy link
Copy Markdown
Collaborator

Summary

  • Add AMPLIFIER_SKIP_STARTUP_UPDATE_CHECK=1 as a process-local opt-out for the automatic startup update checker.
  • Return before reading update settings, contacting update sources, or writing the last-check timestamp.
  • Document the exact-value behavior and add regression coverage for the opt-out, unchanged frequency policy, and explicit amplifier update.

Motivation

An engineering worker with a read-only configuration home can fail during automatic startup update bookkeeping: timestamp persistence attempts to acquire ~/.amplifier/settings.yaml.lock, raises EROFS, and the error handler attempts the same save again.

This PR provides a narrow opt-out for callers that deliberately suppress automatic update work without changing saved settings or making shared installations writable.

AMPLIFIER_SKIP_STARTUP_UPDATE_CHECK=1 amplifier run "your prompt"

Only the exact value 1 opts out. Unset, empty, 0, true, and whitespace-padded values retain the existing behavior.

Verification

The original change was built and installed as a wheel in an isolated test environment on October 11, 2026:

  • 25 passing cases across tests/test_startup_checker.py and tests/test_run_sigint_main_thread_guard.py.
  • 54 passing cases in tests/test_update_reporting.py.
  • Three guarded installed startup-entry probes through _run_startup_update_check, with missing, malformed, and valid settings: no update-settings or network attempts were recorded under the opt-out.

The PR is a single clean cherry-pick onto the current upstream base. The implementation, new tests, and README are byte-identical to the previously verified change; the AGENTS addition contains only startup-control guidance. Stable patch identity matches the original change. Unrelated local launcher-repair commits are excluded.

These results are retained verification evidence, not a fresh full-suite run on the PR branch. Repository CI results remain separate.

Scope and limits

  • Default automatic-check behavior, including its existing timestamp-save error handling, is unchanged.
  • Explicit amplifier update remains enabled; the new regression invokes its real Click command with mocked update boundaries.
  • This is not a general read-only mode, runtime-isolation profile, full CLI worker-launch proof, or fix for long-running model calls.
  • No launcher, shared installation, credentials, or settings files are changed by this PR.

Skip automatic update settings, network and timestamp activity only when AMPLIFIER_SKIP_STARTUP_UPDATE_CHECK is exactly 1. Preserve default frequency policy and explicit update commands. Verified as an installed wheel in the existing isolated DTU: 79 tests and three guarded startup-entry probes.

Generated with Amplifier

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
Generated with Amplifier

Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
@bkrabach
Brian Krabach (bkrabach) merged commit d408797 into main Oct 12, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants