Skip to content

Correct option forwarding, callbacks, CLI status, and runtime floor - #168

Open
OskarEichler wants to merge 6 commits into
copiousfreetime:mainfrom
OskarEichler:audit/runtime-correctness-maintenance
Open

Correct option forwarding, callbacks, CLI status, and runtime floor#168
OskarEichler wants to merge 6 commits into
copiousfreetime:mainfrom
OskarEichler:audit/runtime-correctness-maintenance

Conversation

@OskarEichler

Copy link
Copy Markdown

Summary

This six-commit series keeps application-specific options intact, honors LAUNCHY_APPLICATION, scopes error callbacks to failures from the current open call, returns CLI failure when launch fails, handles an absent PATH, and aligns the declared Ruby floor with the logger dependency.

Reproductions

  • extract_global_options currently returns the final setter result instead of the documented leftover options Hash.
  • LAUNCHY_APPLICATION is stored globally but open reads only the original options Hash.
  • A successful open inside an outer rescue observes $ERROR_INFO and spuriously invokes the error callback.
  • Cli#good_run returns true after a failed launch, so the executable exits successfully.
  • A missing PATH raises before an absolute BROWSER override can be selected.
  • The gem declares Ruby 2.3 although every allowed logger ~> 1.6 release requires Ruby 2.5 or newer.

Verification

  • Existing suite on Ruby 4.0.6: 113 runs, 150 assertions, zero failures/errors/skips
  • Same suite and seven-case external model pass on Ruby 3.2.11
  • Seven independent focused invariants fail on 3.1.1 and pass on the candidate
  • All 26 tracked Ruby/executable files syntax-check
  • Manifest check passes
  • Candidate gem contains the expected 21 files and dependency ranges
  • Fresh isolated install reports Ruby >= 2.5 and passes all models
  • Songstats with Letter Opener loads the candidate and completes a representative dry-run file URI
  • Static RuboCop comparison improves from five to four offenses; remaining offenses are pre-existing

The committed development lock cannot install on Ruby 4 because its Minitest 5.25.4 constraint excludes Ruby 4, so Ruby 4 verification used an external Minitest 5.27 bundle. No tests or tooling files were changed. Windows-only browser behavior remains outside the local macOS verification scope.

This source-only series was identified and verified during an AI-assisted dependency audit.

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.

1 participant